Start of change

DSNT375I   PLAN=plan-name1 WITH CORRELATION-ID=correlation-id1 CONNECTION-ID=connection-id1 LUW-ID=luw-id1 THREAD-INFO=thread-information1 IS DEADLOCKED WITH PLAN=plan-name2 WITH CORRELATION-ID=correlation-id2 CONNECTION-ID=connection-id2 LUW-ID=luw-id2 THREAD-INFO= thread-information2 ON MEMBER member-name

Explanation

A plan has been denied an IRLM lock because of a detected deadlock.

plan-name1 and plan-name2
The names of the executing plans.
plan-name1
The plan that was denied an IRLM lock.
plan-name2
One of the members of the deadlock.

DB2® does not attempt to identify all survivors of a deadlock or all participants in a deadlock in this message. This plan might be only one of several plans that are holding locks on the resource.

If multiple deadlocks are detected during the same deadlock-detection interval, the lock holder identified by plan-name2 in one instance of this message might be selected to break a deadlock identified by a different instance of this message. The lock holder identified by plan-name2 is not guaranteed to be a winner in all deadlocks in which it participates.

If you receive a system plan in this message for either plan-name1 or plan-name2, see the information about system plans in message DSNT376I.

correlation-id1 and correlation-id2
The correlation identifiers of the threads that are associated with, respectively, plan-name1 and plan-name2. Correlation IDs that begin with values between 001 and 028 identify system agents.
connection-id1 and connection-id2
The connection identifiers of, respectively, plan-name1 and plan-name2.
luw-id1 and luw-id2
The logical unit of work identifiers (LUWIDs) of, respectively, plan-name1 and plan-name2.
*
The thread does not have a LUWID.
luw-id=token
The logical unit of work ID and a five-digit token value. The token value can be used in any DB2 command that accepts a LUWID as input.
thread-information1 and thread-information2
Information about the thread. The information is presented in a colon-delimited list that contains the following segments:
  • The primary authorization ID that is associated with the thread.
  • The name of the user's workstation.
  • The ID of the user.
  • The name of the application.
  • The statement type for the previously executed statement: dynamic or static.
  • The statement identifier for the previously executed statement, if available. The statement identifier can be used to identify the particular SQL statement. For static statements, the statement identifier correlates to the STMT_ID column in the SYSIBM.SYSPACKSTMT table. For dynamic statements, the statement identifier correlates to the STMT_ID column in the DSN_STATEMENT_CACHE_TABLE table. That statement might not have contributed to the current failure.
  • The name of the role that is associated with the thread.
  • The correlation token that can be used to correlate work at the remote system with work performed at the DB2 subsystem. The correlation token, if available, is enclosed in '<' and '>' characters, and contains three components, separated by periods:
    • A 3 to 39 character IP address.
    • A 1 to 8 character port address.
    • A 12 character unique identifier.

An asterisk (*) in any segment indicates that the information is not available.

member-name
The name of the member of the DB2 subsystem on which the thread associated with plan-id2 is executing.

System action

The SQLCA that corresponds to the correlation ID, connection ID, and LUWID for plan-name1 contains the name of the resource that is involved in the deadlock and one of the following SQL codes: -904, -911 , -913, or -923.

DB2 can recover from a lock denial in some cases and can complete successfully. In such a case, the SQLCA is not filled in. One example is during setup of performance enhancements during bind time for execution time.

Problem determination

A DB2 IFCID 172 trace record contains the information needed to determine all participants in, and survivors of, a given deadlock.

Collect the following diagnostic items:
  • Console output from the system on which the job was run, and a listing of the SYSLOG data set for the period of time that spans the failure.
  • Dynamic dump, taken to SYS1.DUMPxx data set, by DB2 (04E and 04F abends).
  • Listing of SYS1.LOGREC data set, obtained by executing IFCEREP1.
  • IRLM trace output.
.
End of change