Duplicate IMS correlation IDs

Under certain circumstances, two threads can have the same correlation ID.

Two threads can have the same correlation ID (pst#.psbname) if all of these conditions occur:

  • Connections have been broken several times.
  • Indoubt units of recovery were not recovered.
  • Applications were subsequently scheduled in the same region.

To uniquely identify threads which have the same correlation ID (pst#.psbname) requires that you be able to identify and understand the network ID (NID). For connections with IMS, you should also be able to identify and understand the IMS originating sequence number (OASN).

The NID is shown in a condensed form on the messages that are issued by the Db2 DISPLAY THREAD command processor. The IMS subsystem name (imsid) is displayed as the net_node. The net_node is followed by the 8-byte OASN, which is displayed in hexadecimal format (16 characters), with all leading zeros omitted. The net_node and the OASN are separated by a period.

For example, if the net_node is IMSA, and the OASN is 0003CA670000006E, the NID is displayed as IMSA.3CA670000006E on the Db2 DISPLAY THREAD command output.

If two threads have the same corr-id, use the NID instead of corr-id on the RECOVER INDOUBT command. The NID uniquely identifies the work unit.

The OASN is a 4-byte number that represents the number of IMS scheduling since the last IMS cold start. The OASN is occasionally found in an 8-byte format, where the first 4 bytes contain the scheduling number, and the last 4 bytes contain the number of IMS sync points (commits) during this schedule. The OASN is part of the NID.

The NID is a 16-byte network ID that originates from IMS. The NID contains the 4-byte IMS subsystem name, followed by four bytes of blanks, followed by the 8-byte version of the OASN. In communications between IMS and Db2, the NID serves as the recovery token.