A fix is available
APAR status
Closed as program error.
Error description
IMS log reader OLDS log switch detection updates and enhanced LSN validation during stream activation
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Classic CDC for z/OS for IMS * * IIDR for IMS * **************************************************************** * PROBLEM DESCRIPTION: IMS log reader OLDS log switch * * detection updates and enhanced LSN * * validation during stream activation * **************************************************************** * RECOMMENDATION: * **************************************************************** This APAR includes updates to address two different IMS log reader issues. The first is to add additional initial log selection validation during stream activation processing that confirms the contents of the IMS log selected match what is recorded in DBRC. This is done by verifying that the LSN of the first record in the log matches the FIRST LSN information recorded for that log in DBRC . This additional validation prevents unexpected IMS log reader behavior for the following conditions: An OLDS is selected, the OLDS contents have been re-initialized, and the IMS log reader needs to wait for IMS to write data to the log. The IMS log reader does not support this wait logic during stream activation processing. An active OLDS is selected after IMS has performed a log switch, but before a new log block has been written to the log. Today IMS log reader, reads the prior OLDS contents, discards all the log records, and then processes the next log based on the last LSN read, until it reaches the current OLDS. A SLDS has been selected, there is a problem with archiving and the SLDS is recorded in the RECON multiple times, and the selected logs contents do not match the selected DBRC entry. The IMS log reader currently determines what to do based on the first block in the log which may cause unexpected behavior. Additional changes have been made to do a better job of handling when the PABLKCNT value wraps which can occur in high volume IMS control regions that are not reset by doing a cold start. Evey block in an IMS log contains a padding record as the last record in each block. In a DB/DC or DB-CTL record the padding record contains a PABLKCNT value that is set to one when an IMS cold start is performed and is incremented by one for each subsequent block written to the active OLDS. The PABLKCNT is 32-bit integer and if the IMS writes enough blocks before another cold start is performed, the PABLKCNT resets to zero and then continues to increment by 1. The APAR contains updates to perform a better job of identifying the correct SLDS to process when the IMS log reader is accessing an OLDS where the PABLKCNT is about to wrap, log read operations are suspended for a period, and the OLDS is over-written with new data. This condition only occurs during heavy batch workloads where the capture cache fills for one or more subscriptions and the OLDS that is being processed is close to being over-written by IMS when the IMS log reader starts reading the OLDS. Currently, the IMS log reader issues a CECZ0309E (un-expected error condition) and reports the change stream in error which causes replication to stop for all subscriptions being serviced for the change stream. The IMS log reader can also run into problems when reading the active OLDS and a logical-end-of-log condition is detected and the PABLKCNT is wrapping. The IMS log reader can get stuck reading the wrong block of data in the OLDS and does not advance until the OLDS is over-written by IMS at which point processing switches to the appropriate SLDS.
Problem conclusion
The IMS log reader stream activation logic has been modified to verify the first LSN in the selected log matches the information in DBRC. If it does not a new CECZ0317E message identifying the IMS subsystem, log dataset, and DBRC/log LSN information is issued. When the log LSN is zeros, this indicates that the log has recently been initialized and this issue can be resolved by doing log switches until all new logs contain at least one log block written by IMS. When the message reports a non-zero log LSN and the log is an OLDS then likely this is due to a log switch where IMS has not written new data to the selected OLDS. Issuing an IMS /CHECKPOINT command will resolve this situation. With the APAR applied, and the active OLDS is overwritten and the PABLKCNT resets, instead of issuing a CECZ0309E message. the IMS log reader will switch to processing the SLDS that contains the log data for the OLDS that was being processed when reading was halted. The reason the IMS log reader cannot detect new data has been written to the OLDS when the log is close to a PABLKCNT reset is still unknown, but with APAR PH61574 applied, the IMS log reader will detect this condition shortly after IMS switches to the next OLDS. It can take the IMS log reader up to thirty seconds to detect that IMS has switch OLDS at which point the OLDS that the IMS log reader was reading is closed, reopened, and processing resumes There are no new or special messages issued when one of the PABLKCNT wrap conditions are resolved. The diagnostic log does contain new trace entries indicating this code has been activated. While these changes are not expected to have unintended side effects, they can be disabled by updating the global TASKPARM to include PH61574=OFF . This value is case sensitive. The new setting takes effect the next time a new change stream is activated or immediately when the IMS log reader is waiting for IMS to write more data to the active OLDS.
Temporary fix
Comments
APAR Information
APAR number
PH61574
Reported component name
CLASSIC FED & E
Reported component ID
5697I8200
Reported release
B30
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2024-05-29
Closed date
2024-10-08
Last modified date
2024-11-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI98689
Modules/Macros
CACCHICT CACENGCT CACJPNCT CACZHOCT CECCLRFU CECCLRIC CECCLRID CECCLRIE CECCLRIH CECCLRII CECCLRIM CECCLRIQ CECCLRIR CECCLRIS CECCLRIT CECCREP2
Fix information
Fixed component name
CLASSIC FED & E
Fixed component ID
5697I8200
Applicable component levels
RB30 PSY UI98689
UP24/10/09 P F410
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":"BU048","label":"IBM Software"},"Product":{"code":"SSDP9S","label":"InfoSphere Classic Federation Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B30","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Document Information
Modified date:
03 November 2024