IBM Support

PI39742: QAPPLY ABENDS0C4 POSSIBLE WHEN A DEADLOCK OCCURS WHEN QAPPLY IS PERFORMING A QUERY OF SYSIBM.SYSTABLES.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Qapply ABENDS0C4 is possible when Q Apply performs a query of
    SYSIBM.SYSTABLES and a deadlock takes place.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: 1- All SQL Capture customers.                *
    *                 2- Q Apply, Q Capture                        *
    *                 3- All SQL Apply customers.                  *
    *                 4- ASNTDIFF                                  *
    *                 5- Q Capture - Search Condition users        *
    *                 6- Any user that issues a request to print   *
    *                 send queue status and uses a queue (or       *
    *                 replication queue map) that does not exist.  *
    *                 7- Q Apply                                   *
    *                 8- Q Capture users                           *
    ****************************************************************
    * PROBLEM DESCRIPTION: 1- SQL Capture converts the new column  *
    *                      name to uppercase when it executes      *
    *                      ALTER TABLE RENAME COLUMN statements    *
    *                      for CD tables.                          *
    *                      2- Q Replication programs querying      *
    *                      SYSIBM.SYSTABLES catalog for            *
    *                      determining table structure do not      *
    *                      handle deadlocks correctly. This may    *
    *                      lead to internal errors or 0C4 abend.   *
    *                      3- SQL Apply keeps dumping error        *
    *                      message to joblog/log/applytrail after  *
    *                      the error condition is corrected        *
    *                      4- ASNTDIFF issues an error messages    *
    *                      ASN4031E when RANGECOL contains lower   *
    *                      case column names.                      *
    *                      5- The IS NULL clause of a search       *
    *                      condition is not processed correctly    *
    *                      6- A change was recently put in to      *
    *                      allow the user to request the status    *
    *                      of a queue by using the replication     *
    *                      queue map name instead of the send      *
    *                      queue name, and still print the         *
    *                      correct send queue and map name.        *
    *                      Because of a missing check for a NULL   *
    *                      pointer, if the given name is not a     *
    *                      send queue or a queue map, this will    *
    *                      result in a dump of the admin thread.   *
    *                      Capture will continue to run, but the   *
    *                      admin thread will not. At this point,   *
    *                      the user will have to stop and restart  *
    *                      capture.                                *
    *                      7- ASN7618I message contains a wrong    *
    *                      SQLCODE when target is the stored       *
    *                      procedure.                              *
    *                      8- The new Q Capture in-memory          *
    *                      evaluator of search/change conditions   *
    *                      does not support all SQL functionality  *
    *                      that can be expressed.                  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    1- SQL Capture detects ALTER TABLE RENAME COLUMN operations for
    registered source tables and executes ALTER TABLE RENAME COLUMN
    statements to rename corresponding before-image and/or
    after-image columns in CD tables. SQL Capture converts the new
    column name to uppercase when it executes ALTER TABLE RENAME
    COLUMN statements for CD tables.
    2- Q Apply and Q Capture programs query SYSIBM.SYSTABLES
    catalog for determining table structure, such as when starting
    a subscription or replicating table alters. If there are
    deadlocks or lock timeouts while querying SYSTABLES, these do
    not get handled correctly leading to reporting of internal
    errors or it may lead to an 0C4 abend.
    3- SQL Apply does not clean up the internal buffer holding
    error information properly
    4- ASNTDIFF failed to support the comparison of two tables with
    lowercase column names.
    5- Additional logic is required to correctly handle and
    evaluate an IS NULL clause
    6- Due to a missing NULL pointer check, the conversion of
    message ASN0668I can result in a SEGV for the admin thread.
    7- When a subscription's TARGET_TYPE is set to 5, Q Apply does
    not fill meaningful values in SQLCODE, SQLSTATE and Reason Code
    in ASN7618I.
    8- Users of search/change conditions in 10.2.1 might encounter
    unexpected errors before falling back to database evaluation if
    a search/change condition fails to validate for in-memory
    evaluation.
    

Problem conclusion

  • 1- SQL Capture will preserve the case of the new column name
    when it executes ALTER TABLE RENAME COLUMN statements for CD
    tables.
    2- Q Replication programs now handle deadlocks correctly when
    querying SYSIBM.SYSTABLES catalog tables.
    3- Change SQL Apply to reset the internal buffer holding error
    information at beginning of each Apply cycle
    4- The problem is fixed.
    5- The problem is resolved
    6- The check for the NULL pointer has been added, and the
    problem will not occur again.
    7- The problem is fixed.
    8- The commandline parm IN_MEM_FILTER_EVAL=N allows users to
    avoid in-memory evaluation of search/change conditions.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI39742

  • Reported component name

    WS REPLICATION

  • Reported component ID

    5655L8800

  • Reported release

    A21

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-04-23

  • Closed date

    2015-05-21

  • Last modified date

    2015-06-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UI27857 UI27858 UI27859 UI27860

Modules/Macros

  •    ASNAAPP  ASNACMD  ASNACMP  ASNADMSP ASNAFET
    ASNAISO  ASNAMAN  ASNAPPLY ASNAPRS  ASNAWPN  ASNCAP   ASNCCMD
    ASNCDA   ASNCLPAP ASNCLPCL ASNCLPCM ASNCLPCO ASNCLPMS ASNCLPQA
    ASNMCMD  ASNMON   ASNMONIT ASNQACMD ASNQAHKT ASNQAPP  ASNQAROW
    ASNQCAP  ASNQCCMD ASNQDEP  ASNQEXRP ASNQMFMT ASNQXFMT ASNQ1021
    ASNRBASE ASNSQLCZ ASNTDIFF ASNTDSP  ASNTRC   ASN2BASE ASN2SQLZ
    

Fix information

  • Fixed component name

    WS REPLICATION

  • Fixed component ID

    5655L8800

Applicable component levels

  • RA21 PSY UI27857

       UP15/05/30 P F505

  • RA24 PSY UI27858

       UP15/05/30 P F505

  • RA25 PSY UI27859

       UP15/05/30 P F505

  • RA26 PSY UI27860

       UP15/05/30 P F505

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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDP5R","label":"InfoSphere Replication Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A21","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
01 June 2015