Scenario 4: online change prepare command fails due to a timeout error

In this scenario, the online change prepare command fails due to a timeout error. Because one IMS never receives the prepare phase, the command times out while waiting for a response. Online change must be aborted after a prepare failure.

The following table identifies the command sequence and codes returned during this scenario:

Table 1. Scenario 4: command sequence and codes for failed prepare command due to timeout error
Action or event IMS A completion code IMS B completion code IMS C completion code Command return code Command reason code
INIT OLC PHASE(PREPARE) TYPE(MODBLKS) 0 0 91 C 3000
INIT OLC PHASE(PREPARE) TYPE(MODBLKS)       10 4110
INIT OLC PHASE(COMMIT) 2 2 B2 C 3004
TERMINATE OLC 0 0 3 4 100C
INIT OLC PHASE(PREPARE) TYPE(MODBLKS) 0 0 0 0 0
INIT OLC PHASE(COMMIT) 0 0 0 0 0

Procedure

  1. In this scenario, IMS A is the command master, and the INITIATE OLC PHASE(PREPARE) TYPE(MODBLKS) command is issued; IMS A is the command master. SCI goes down before IMS C receives the prepare phase. IMS A and IMS B successfully complete the prepare phase locally and set completion codes of 0 for themselves. The RM process step response times out, and RM returns the process step results to IMS A. IMS A sets a completion code of 91 (time out) for IMS C. IMS A rejects the prepare command because of the timeout error. After the failure, IMS A and IMS B remain in an online change prepare state, and IMS C is not in an online change state. IMS A sets an overall return code of C and reason code of 3000 (prepare worked for some of the IMS systems). Because IMS C does not do the prepare and a prepare failure occurred, the online change must be aborted.

    In this situation, you should issue QUERY MEMBER TYPE(IMS) to see the state of the IMS systems to determine what to do.

  2. Another INIT OLC PHASE(PREPARE) TYPE(MODBLKS) command is issued. However, because online change must be aborted after a prepare failure, this prepare command also fails. IMS A, the command master, detects that it is already in a prepare state and rejects the command with a return code of 10 and a reason code of 4110. (The INIT OLC command is rejected because the command does not apply to the online change state of the command master.)
  3. An INIT OLC PHASE(COMMIT) command is issued. The installation mistakenly tries to commit the online change after the prepare failure. IMS A is once again the command master. IMS A performs commit phase 1 locally, then sends commit phase 1 to IMS B and IMS C. IMS A and IMS B successfully perform commit phase 1 locally. IMS C rejects the commit phase 1 because it is not in an online change prepare state. IMS C returns a completion code of B2 (IMS state error). IMS A detects the error and sets the completion code to 2 (incomplete) for IMS A and IMS B. IMS A also returns a completion code of B2 (IMS state error). IMS A then terminates commit processing. The command fails with a return code of C and a reason code of 3004 (no IMS systems successfully completed command).
  4. A TERMINATE OLC command is issued to abort the global online change. IMS A and IMS B successfully complete the abort. Because IMS C is not in an online change state, it returns a completion code of 3 (IMS already in requested online change state). IMS A, the command master, treats this as acceptable, and returns an overall return code of 4 and a reason code of 100C (successful, but not applicable to some IMS systems).
  5. An INIT OLC PHASE(PREPARE) TYPE(MODBLKS) command is issued. The prepare succeeds.
  6. An INIT OLC PHASE(COMMIT) command is issued. The commit succeeds.