Maintaining sequence numbers
To allow session recovery and message resynchronization across session and subsystem failures, both half sessions must maintain a checkpoint of sequence numbers and other indicators.
- Three sequence numbers that are produced when the session was
last active
The three sequence numbers are the potential (pending) and committed sequence numbers for the flow sent by the half session and the last committed sequence number for the flow received by the half session.
- An indicator produced when a unilateral decision was made by a half session to back out or commit a work unit that was left pending during the session outage
- An indication of the direction of the decision
Sequence number mismatches and incorrect decisions to commit or
back out a recoverable work unit are detected by comparing the sequence
numbers sent or received on the VTAM® set-and-test-sequence-number
(STSN
) command with the checkpointed resynchronization
information. Each half session can detect invalid sequence number
mismatches on their outbound flow and reject the resynchronization
request. Each half session can also agree or disagree to unilateral
decisions made by the other half session to commit or back out a work
unit. This agreement or disagreement is based on the detection of
a sequence number mismatch on the inbound flow and involves a second
STSN when an incorrect decision is made on the STSN receiver's
inbound flow. The STSN
command receiver does this
before responding to the second STSN
command (which
is sent in response to the receipt of TEST NEGATIVE
on
the first STSN). This second STSN informs the STSN receiver that a
wrong decision had been made on its inbound flow.