Kbase P146432: What are algorithms on unified broker writing to server log files when multiple log files are define
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  30/12/2010 |
|
Status: Verified
GOAL:
What are algorithms on unified broker writing to server log files when multiple log files are defined?
GOAL:
How does unified broker manage multiple server log files?
GOAL:
How does srvrLogAppend and srvrNumLogFiles work?
GOAL:
What are the possible causes for exceeding server threshold value?
GOAL:
Can I manually delete server log files in sequence?
GOAL:
Can the server log file grow beyond its' threshold?
FACT(s) (Environment):
OpenEdge 10.x
FIX:
Append and logthreshold work no matter what.
The broker is the one monitoring the server log size when srvrlogthreshold is set. Whether you have append set or not, when the broker detects that the current file size reached the logthreshold, it will create the next file using the sequence value. and it creates them from scratch. So if the file happens to exist, it will get deleted and then created. The srvrlogappend setting only matters when the broker starts up, that is, if you choose not to append, all server log files are deleted for that broker, and the file will start with the sequence number 000001. When append is on, the broker checks the last file based on the sequence number and starts writing to it. Bottom line, the broker is the one controlling the server log file rollover.
The server ALWAYS append to the most current file. But the logAppend setting is NOT taken by the servers at all. Only the broker cares about it at startup.
The servers will check if they need to switch to the next log file from time to time, such as every other request, or while idle. While busy, it will never switch the log file - this is for performance reasons and also if the logthreshold is set to a reasonable value (not too low), the server will catch up and move on to the next one. But it is possible that the log file grows beyond the logthreshold value if they had to log anything while processing a request. The logthreshold value does *not* mean we will never grow beyond that size.
Now once the broker and all servers close a given log file, it could be deleted manually. The only thing is that you should not delete files and leave gaps in the sequencing number, such as if you have log files 1,2,3,4,5, if you delete 2 and 3, a server that has file 1 open will never notice that it should have moved to the next file (since it doesn't exist) and it will not switch the log file.
There are only two possible reasons server could grow to more than threshold value:
1. The agent has been busy when threshold was reached
2. The server log file in sequence gets deleted