
William Holenstein
Senior Manager
Shadowbase Product Support
Now available in the NonStop Shadowbase NSB 4.080 release is a feature set which, when configured, enables operators to synchronize application activity, be it batch or online in nature, with replication processing. The SUSPENDUPD/RESUMEUPD feature set enables the operations and systems personnel to SUSPEND and RESUME replication processing via the command interpreter interface at a rate or interval defined by their individual processing needs.
Such activity may be required, for example, to balance system load or ensure change data capture has occurred before data is replicated to a system for another use, restricting its availability before an acceptable service agreement has been achieved. It is quite useful for suspending replication at a particular point in the audit trail replication stream across a large and diverse replication environment, thereby synchronizing each of the replication threads regardless of their processing speed or current replication point.
The SUSPENDUPD command inserts a token into the audit trail at EOF at the time the command is executed in AUDCOM (Shadowbase command interpreter). When the token is read from the Master Audit Trail (MAT) and passes through the replication stream, it effectively SUSPENDS the processes against which it was configured to apply. SUSPENDUPD can be applied at the COLLector level, the single or group CONSumer level, or at the individual CONSumer level.
Consider the following example illustration.

Figure 1
In Figure 1, COLL1 is selecting and feeding data to CONS1, which is replicating via tcp/ip out to an NT server running ORACLE; COLL2 is replicating to CONS2, which is configured via tcp/ip to another consumer, CONS2A, running on another remote NSK server instance for AUDIT LOGGING purposes. (See the Shadowbase Introduction Manual for more information on Audit Logging.) COLL3 is replicating to CONS3, which resides in the source system's local EXPAND network on another NSK server and to CONS4, which resides on a QAT server in the same EXPAND network as well. CONS1 and CONS3 were both configured in the same CONSGROUP known as CONSGRP13.
In the figure, CONS2 is not configured for SUSPENDUPD.
Below is a list of commands and their effect on the mentioned environment:
SUSPENDUPD COLL * - Executing this command in audcom will result in a suspension of CONS1, CONS3, CONS4 once the consumers have processed the SUSPENDUPD token event. Executing a SUSPENDUPD COLL * ensures all SUSPENDUPD configured consumers are suspended at exactly the same point in the audit trail. Note COLL2 - CONS2 would continue to read and process replication data past the SUSPENDUPD token into the audit trail.
SUSPENDUPD COLL COLL1 - Replication processing would suspend for CONS2 consumer once the SUSPEND token was processed by the COLL1 and CONS1 processes. All other processing would continue normally.
SUSPENDUPD CONS * - same effect as SUSPENDUPD COLL.*
SUSPENDUPD CONS CONS1 - Replication processing would suspend for CONS1 consumer only once the SUSPEND token was processed by the COLL1 and CONS1 processes. All other processing would continue normally.
SUSPENDUPD CONSGROUP CONSGRP13 - Replication processing would suspend for CONS1 and CONS3; CONS2 and CONS4 would continue to processing normally. Note that once CONS3 goes into the SUSPENDUPD state, the collector COLL3 can only process data for CONS4 until the read ahead buffers (RESERVEDBUFFERS) configured for COLL3 fill up with a combination of unprocessed CONS3 data. At that time, CONS4 will effectively stay in a running state, however it will not receive any more work until the RESUMEUPD for CONS3 is processed.
RESUMEUPD COLL * - Processing will resume on all SUSPENDed consumers immediately.
RESUMEUPD CONS * - Same as previous.
RESUMEUPD CONS CONS2 - Processing will resume on the COLL2 CONS2 thread immediately. All other threads will remain in the SUSPENDed state.
As illustrated, the SUSPENDUPD and RESUMEUPD command set enables operators and systems personnel to synchronize the replication processing streams with the rest of the application processing on the NSK system.