Primary-to-secondary flow matrix
The following table illustrates the actions taken when resynchronizing a session and the STSN command flows from the primary half session to the secondary half session.
The first result in each table cell represents the STSN command action; the second result represents the response returned to the STSN command. These are separated by a slash (/). When two STSNs are sent, they are separated by a comma.
Primary half session | Secondary half session, session cold | Secondary half session, not received: pending | Secondary half session, received: pending |
---|---|---|---|
Pending | 1 Set and Test / Reset | 2 Set and Test / Negative | 3 Set and Test / Positive |
Decision to commit | 4 Set and Test / Reset | 5 Set and Test / |
6 Set and Test / Positive |
Decision to back out | 7 Set and Test / Reset | 8 Set and Test / Positive | 9 Set and Test / |
Not pending | 10 Set and Test / Reset | 11 Set and Test / Positive | Not Applicable |
Notes to the preceding table
1 The STSN sender is PENDING. The STSN receiver has no sequence numbers. A COLD/WARM mismatch has occurred. The session can continue. The STSN sender should continue the session.
2 The
STSN sender is PENDING. The STSN receiver never received the pending
RQ*2 and returns a TEST NEGATIVE
in the STSN response.
The STSN sender backs out the pending work unit to the last commit
point.
3 The STSN sender is PENDING.
The STSN receiver received the pending RQ*2 and sent a + DR2. The
STSN receiver responds TEST POSITIVE
, and the STSN
sender commits the pending work unit.
4 The STSN sender wants to release the locks and commit resources; however, an RQ*2 is outstanding. The STSN receiver has no sequence numbers. A COLD/WARM mismatch has occurred. The session can continue. The STSN sender should continue the session.
5 The
STSN sender wants to release the locks and commit resources; however,
an RQ*2 is outstanding. The STSN receiver never received the pending
chain, as indicated by TEST NEGATIVE
in the STSN
response. The STSN sender sends a second STSN with the SET
action
code to inform the STSN receiver that a wrong decision was made. The
STSN receiver can continue the session by sending TEST POSITIVE
or
decline by sending INVALID
.
6 The
STSN sender wants to release locks and commit resources; however,
an RQ*2 is outstanding. The STSN receiver received the pending chain
and committed it, as indicated by the TEST POSITIVE
in
the STSN response.
7 The STSN sender wants to back out the pending work unit, but a pending RQ*2 is outstanding. The STSN receiver has no sequence numbers. A COLD/WARM mismatch has occurred. The session can continue. The STSN sender should continue the session.
8 The STSN
sender wants to back out the pending work unit, but an RQ*2 is outstanding.
The STSN receiver never received the pending chain, so the sequence
numbers match. A TEST POSITIVE
is returned on the
STSN response.
9 The STSN sender
wants to back out the pending work unit, but an RQ*2 is outstanding.
The STSN receiver received the pending chain and committed resources.
Because the STSN sender sent out the old committed sequence numbers
and the STSN receiver received the chain, a TEST NEGATIVE
is
returned. The STSN sender informs the STSN receiver that a wrong decision
has been made by sending a second STSN with a SET
action
code. The STSN receiver can continue the session by sending TEST
POSITIVE
or decline by sending INVALID
.
10 The STSN sender is not pending on the P-S flow. The STSN receiver has no sequence numbers. The session continues.
11 The
STSN sender is not pending on the P-S flow. The STSN receiver agrees
with the sequence numbers on the STSN and returns a TEST POSITIVE
.