DFS2291I Multi-line message with variable values
Explanation
A lock request timed out by IRLM and an IMS abend 3310 was issued. This message supplies additional information about the termination.
- DFS2291I LOCKNAME=resource_name
- DFS2291I DBNAME=db_name LOCKFUNC=lock_function
- DFS2291I BLOCKER PST=PST_id TRAN=tran_name PSB=PSB_name TYPE=region_type
- DFS2291I BLOCKER TRANELAPSEDTIME=hr:mn:sc IMSID=imsid
- DFS2291I BLOCKER RECOVERY TOKEN=recovery_token
- DFS2291I WAITERxx PST=PST_number TRAN=tran_name PSB=PSB_name TYPE=region_type
- DFS2291I WAITERxx TRANELAPSEDTIME=hr:mn:sc
- DFS2291I WAITERxx RECOVERY TOKEN=recovery_token
- DFS2291I WAITERxx PST=PST_number TRAN=tran_name PSB=PSB_name TYPE=region_type
- DFS2291I VICTIM TRANELAPSEDTIME=hr:mn:sc IMSID=imsid
- DFS2291I VICTIM RECOVERY TOKEN=recovery_token
- DFS2291I TRANSACTION RETRY. DIAGNOSTIC MESSAGE HAS REACHED MAXIMUM COUNT
The final line of the message, DFS2291I TRANSACTION RETRY. DIAGNOSTIC MESSAGE HAS REACHED MAXIMUM COUNT, is issued only after the fifth retry of the same transaction. After receiving this message, no further instance of message DFS2291I will be issued on retries of the same transaction.
- BLOCKER
- Indicates the transaction that was holding the lock resource identified by resource_name at the time when the long wait for the lock has timed out.
- WAITER
- Indicates the transaction waiting on the same lock resource identified by resource_name at the time when the long lock exit is driven.
- VICTIM
- Indicates the transaction that IRLM timed out. The transaction either abnormally terminates with a 3310 abend, or receives status code BD because the LOCKTIME value has been exceeded for the IRLM lock request.
- resource_name
- The 11- to 13-character identifier used by IMS to obtain a lock on the resource. resource_name contains the data management block (DMB) number, data control block (DCB) number, or relative byte address (RBA) of the resource that the transaction is requesting a lock for.
- db_name
- The name of the database that IRLM is requested to grant lock for.
- lock_function
- The lock request function.
- PST_id
- The unique task ID that identifies the transaction. The ID refers one of the
following options:
- number
- The unique task number that identifies the transaction.
- SYS
- The system ITASK lock owner.
- IDT
- The Residual Recovery Element (RRE) or Indoubt lock owner.
- PST_number
- The unique task number that identifies the transaction.
- tran_name
- The transaction name.
- PSB_name
- The PSB name used by the transaction.
- region_type
- The type of IMS region that processes the transaction.
- hr:mn:sc
- The elapsed time, in hours, minutes and seconds. This value is between the time the transaction starts (taken from PSTSPTIM) and the time the exit is called to gather IRLM long lock data for this transaction.
- imsid
- the IMS ID.
- recovery_token
- A 16-byte string that contains the IMS ID, a 4-byte origin application sequence number assigned at scheduling time, and a 4-byte count that is incremented at each commit process. For a batch application, the 16-byte string contains an 8-byte job name and an 8-byte store clock value.
For batch jobs, the short form message DFS2291I is issued. The multi-line form of this message is used in the log type X'67D0' subtype 1B records if the IEFRDER DD statement was specified.
For transactions being retried after the abend 3310, message DFS2291I is issued for a maximum of five times. When the maximum message count is reached, the message text is TRANSACTION RETRY. DIAGNOSTIC MESSAGE HAS REACHED MAXIMUM COUNT is used.
System action
The dependent region terminates abnormally. The transaction is discarded, the transaction and PGM are not stopped, and no memory dump is created.System programmer response
Except for protected messages, use the Non-Discardable Messages user exit (NDMX) to determine whether to run the transaction again.
Terminate either the blocker (the application that is holding the lock) or the victim (the application waiting for the lock). Use the blocker information in this message to terminate the application that is holding the lock or the application waiting for the lock. If more than one application is waiting for the lock besides the victim, terminating the blocker causes IRLM to grant the lock to the next application waiting for the application, and it might not be the victim.
Problem determination
The message provides information about the transaction that is holding the lock as well as transactions that are waiting on the lock.