IBM Support

PH61574: IMS LOG READER OLDS LOG SWITCH DETECTION UPDATES AND ENHANCED LSN VALIDATION DURING STREAM ACTIVATION

A fix is available

Subscribe

You can track all active APARs for this component.

 

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