Example 12: SPO Shutdown
A series of events are associated with SPO shutdown.
The shutdown sequence begins when the controlling client (orsposvc or orspostart) disconnects. At that point all dispatchers and all slaves are disabled (that is, they will reject any further incoming client calls), and the housekeeping thread will attempt to stop and destroy all slaves and dispatchers. The housekeeping thread searches the component tree repeatedly until all slaves and dispatchers are gone, or until the configured shutdown grace period has expired.
The following example illustrates a typical shutdown sequence.
2007/09/06_16:08:19.751 CONTROLLER: DISCONNECTED - BEGINNING SHUTDOWN SEQUENCE
2007/09/06_16:08:19.751 DISABLING: DispatcherMgr
2007/09/06_16:08:19.751 DISABLING: D1
2007/09/06_16:08:19.751 DISABLING: S1
2007/09/06_16:08:19.751 STOPPING: S1 (due to shutdown)
cnt min max avg
QueueUse/Depth: 9902 0 2 0
QueueWait: 0ms 93ms 0ms
Initiates: 1 453ms 453ms 453ms
Call4GLs: 9900 0ms 234ms 8ms
ASOTrxCount: 9900
2007/09/06_16:08:19.751 DESTROYING: S1
cnt min max avg
QueueUse/Depth: 9902 0 2 0
QueueWait: 0ms 93ms 0ms
Initiates: 1 453ms 453ms 453ms
Call4GLs: 9900 0ms 234ms 8ms
ASOTrxCount: 0
2007/09/06_16:08:19.751 DESTROYING: D1
cnt min max avg
QueueUse/Depth: 19839 0 0 0
QueueWait: 0ms 0ms 0ms
CurSlaves: 0
ClientRefs: 0
2007/09/06_16:08:19.751 DISABLING: D4
2007/09/06_16:08:19.751 DISABLING: S4
2007/09/06_16:08:19.767 STOPPING: S4 (due to shutdown)
cnt min max avg
QueueUse/Depth: 13502 0 2 0
QueueWait: 0ms 172ms 1ms
Initiates: 1 484ms 484ms 484ms
Call4GLs: 13500 0ms 250ms 11ms
ASOTrxCount: 13500
2007/09/06_16:08:19.767 DESTROYING: S4
cnt min max avg
QueueUse/Depth: 13502 0 2 0
QueueWait: 0ms 172ms 1ms
Initiates: 1 484ms 484ms 484ms
Call4GLs: 13500 0ms 250ms 11ms
ASOTrxCount: 0
2007/09/06_16:08:19.767 DESTROYING: D4
cnt min max avg
QueueUse/Depth: 17439 0 0 0
QueueWait: 0ms 16ms 0ms
CurSlaves: 0
ClientRefs: 0
2007/09/06_16:08:19.767 SNAPSHOT: DispatcherMgr
TotalClients: 0
CurDispatchers: 0
ReservedSlaveQuota: 0
TotalSlaves: 0
2007/09/06_16:08:19.767 TERMINATING
At the end of the shutdown grace period, a final snapshot is recorded. This will show any dispatchers that were unable to be destroyed because of clients still connected. It also will show any slaves that were unable to be stopped because of ASO calls remaining in progress for longer than the grace period. The previous example shows a clean shutdown, with no clients, dispatchers, or slaves remaining.
The TERMINATING event is the last log record written, just before the SPO process terminates.