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.

Table 1. STSN primary-to-secondary flow
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 /
    Negative, Set /
Positive

 6  Set and Test / Positive
Decision to back out  7  Set and Test / Reset  8  Set and Test / Positive

 9  Set and Test /
    Negative,
    Set/Positive

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.