DSNL412I PROTOCOL ERROR DETECTED IN SYNCPOINT REQUEST/RESPONSE FROM COORDINATOR location LUWID=luwid=token. INFORMATION RECORDED IN TRACE RECORD WITH IFCID=208 AND IFCID SEQUENCE NUMBER=seq-no

Explanation

Db2 is a participant in the logical unit of work identified by 'luwid=token'. A protocol error occurred during the SNA sync point exchange with the coordinator identified by 'location'. The protocol error fits into one of the following categories:
  • An unknown SNA PS header was received.
  • An SNA PS header was received in the wrong sequence.
  • An invalid LU6.2 verb sequence was used to deliver the SNA PS header.
  • A DEALLOCATE TYPE(ABEND_SVC) was received from the coordinator, indicating that the coordinator detected a protocol violation in the PS headers transmitted by Db2.
location
Either the relational database name (location-name) or the logical unit name (<luname>) of the coordinator.
luwid=token
The global logical unit of work id and the local token that identify the thread.
seq-no
The IFCID sequence number associated with the trace record. The sequence number is printed in hexadecimal format. If the sequence number is zero, IFCID 208 was not active or it was active with a destination of the resident trace table only. IFCID 208 is a member of statistics class 4, which has a default destination of SMF.

If the protocol error was detected before the commit decision, the unit of work at the Db2 system might be indoubt. Db2 does not automatically resolve such an indoubt thread.

If the protocol error was detected after the commit decision, the unit of work either completed commit or abort processing.

System action

Alert A005 is generated. A trace record whose IFCID=208 is written.

System programmer response

This is an APARable error, probably at the coordinator, but possibly at Db2. The Db2 documentation required is contained in the statistics class 4 trace record. Determine the destination of statistics class 4. Locate and print the trace record with SEQUENCE NUMBER='seq-no'.

The database administrator might need to manually resolve the indoubt thread.

Database Administrator Action: Determine if the 'luwid' is indoubt by using the DISPLAY THREAD command for type indoubt threads and including the LUWID('token') parameter in the command. If the thread is indoubt, it must be manually resolved using the RECOVER INDOUBT command. The commit or abort decision made at the coordinator must be determined so that the same decision can be made at Db2.

Contact the database administrator at the coordinator location to determine whether the thread with LUWID=luwid committed or aborted.

If the coordinator system is another Db2, then the following steps can be taken at the Db2 coordinator to determine the commit or abort decision.
  1. If the coordinator Db2 system is running and a Db2 conditional restart was not performed since the error was detected at this (the participant) location, ask the database administrator at the Db2 coordinator location to issue one of the following DISPLAY THREAD TYPE(INDOUBT) commands:
    • A -DISPLAY THREAD TYPE(INDOUBT), using the LOCATION keyword and specifying the location name of the local Db2.
    • A -DISPLAY THREAD TYPE(INDOUBT) LUWID(luwid)
    If a thread with LUWID=luwid appears in the display, then the display also includes the commit or abort decision. If no thread with LUWID=luwid appears in the display, then the thread was aborted.
  2. If the Db2 coordinator is down or if a conditional restart was performed there, ask the database administrator at the Db2 coordinator to run DSN1LOGP, specifying SUMMARY(ONLY) FILTER LUWID(luwid). The output from DSN1LOGP includes the commit or abort decision.