A fix is available
APAR status
Closed as new function.
Error description
A current REQ is to have the possibility to re-enqueue input messages which, as per a MSGQ Structure full condition, were logged on OLDS / SLDS as unresolved UOWE and also in case IMS would have to be restarted with a cold start. This is based off of FITS REQ MR00075806. The current RECOVERAB function is for non-shared queues only. It starts with the last queue checkpoint and selects all messages that have not been de-queued. The new RECOVERAB will be used when shared queues IMS cannot be /ERE started and needs to be COLD started. The messages that are in the logs that did not make their way to the CQS will be selected (not all messages in and after the last queue checkpoint as it is in the current RECOVERAB function).
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of QCF 3.1 with shared queues. This * * APAR provides RECOVERAS procedure for shared * * queues. * **************************************************************** * PROBLEM DESCRIPTION: In shared queues environment: * * - IMS writes x'67D0' log records for * * messages that can not be put on the * * queue. * * - On checkpoint - IMS preserves the * * UOWs of such messages in x'4040' log * * records. * * - If IMS abends and is /ERE started - * * these messages are retrived from the * * logs * * - If IMS abends and can not be /ERE * * started - these messages are lost * * - If the olds are re-used- some * * messages are lost. * **************************************************************** * RECOMMENDATION: Install the APAR and use the functionality * * after shared queue overflow and IMS cold * * start after abend. * **************************************************************** Install the APAR.
Problem conclusion
Temporary fix
Comments
Using CHKPT LAST with function RS (Recover for Shared Queues) 1. Introduction New functionality is created for QCF IQCSELCT program with CHKPT LAST.... control statement. IQCSELCT allocates logs and extracts messages with unresolved UOWs . IMS writes x'67D0' log records for messages that can not be put on the shared queues. On checkpoint IMS preserves the UOWs for these messages in entries in x'4040' log records and - after the messages are put on the shared queues - entries in x'3F' log records. If there are messages with unresolved UOWs, and IMS abends and can be /ERE started, these messages are retrieved from the logs and put on the queues. If IMS abends and can not be /ERE started, but has to be COLD started - these messages are lost. If the online logs are re-used before a checkpoint is issued to recover these messages - these messages are lost. The new functionality is developed to extract messages from the logs, based on information in x'67D0', X'4040' and x'3F' log records. 2. Function RECOVERAS The process is implemented in next steps: -SELECT step -SORT1 step -SORT2 step -CANCEL step -LOAD step 2.1. SELECT step In SELECT step program IQCSELCT analyzes the execution parameter prepares LIST.LOG command for DBRC, reads the allocated logs and extracts several sets of records in output files. Control statement format with execution parameters: CHKPT LAST,imsid,RS,D=yyyy.ddd,T=hh:mm:ss,DT=CP FUNCTION RECOVERAS CHKPT LAST,imsid,RS,D=yyyy.ddd,T=hh:mm:ss,DT=MSG FUNCTION RECOVERAS CHKPT LAST,imsid,RS FUNCTION RECOVERAS Imsid - is the 4 bytes IMSID RS - recover after abend for shared queues D=..,T=... - is the date and time of the restart checkpoint. (Selected checkpoint should be before the shared queues go in overflow condition) DT=CP After the parameters are checked, the logs data sets are allocated, starting with the log that has the start of the selected checkpoint. The logs are read and several output files are created: LOGOUT contains all selected input and output messages SCRAPSEL contains the not selected input and output messages (based on selection criteria and recoverability of the messages) CKPTOFIL contains formatted records created from x'67D0', X'4040' and x'3F' log records. 2.2. SORT1 step In sort step SORT1 (see the sample job) CKPTOFIL is sorted by messages UOWs and by number of the log record. 2.3. SORT2 step In sort step SORT2 (see sample job) LOGOUT is sorted by message's UOWs. 2.4. CANCEL step In CANCEL step program IQCCAN1 reads sorted files and selects only messages with missing x'3F' records. Selected messages are put in the CANCLOUT file to be loaded in last LOAD step. CANCEL step ends with RC=0 if all UOWs with missing x'3F' records are found in the sorted file with logged messages. CANCEL step ends with RC=4 if some UOWs are not found in the sorted file with logged messages. In such case earlier restart checkpoint has to be used recovering the messages queues. 3. JCL for Execution New sample - IQCRCAS - is added in hlqual.SIQCSAMP library. The sample JCL has to be customized. There are comments how to customize the JCL and parameters for allocation of all required data sets. ×**** PE13/11/20 FIX IN ERROR. SEE APAR PI06607 FOR DESCRIPTION
APAR Information
APAR number
PM61521
Reported component name
IMS QUEUE CNTL
Reported component ID
5697E9900
Reported release
310
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-03-29
Closed date
2013-09-25
Last modified date
2013-12-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK97905
Modules/Macros
H0GN310J IQC##### IQCACKPT IQCALST0 IQCASEGE IQCASELO IQCCANC1 IQCRCAS IQCSELCT
Fix information
Fixed component name
IMS QUEUE CNTL
Fixed component ID
5697E9900
Applicable component levels
R310 PSY UK97905
UP13/09/26 P F309
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1.0","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCX8A6","label":"IMS Queue Control Facility"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
03 December 2013