IBM Support

IT36200: A CLIENT MAY ABEND IN FUNCTION SQLXAPREPARECOMMIT

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • With a stack similar to this one:
    
    sqlxaPrepareAll(db2UCconAnchor*, sqlca*) from
    /home/<user>/sqllib/lib64/libdb2o.so.1
    sqlxaCoordinatedCommit from
    /home/<user>/sqllib/lib64/libdb2o.so.1
    CLI_sqlCommit(CLI_CONNECTINFO*, CLI_ERRORHEADERINFO*) from
    /home/<user>/sqllib/lib64/libdb2o.so.1
    SQLTransact2(CLI_ENVIRONMENTINFO*, CLI_CONNECTINFO*, short,
    sqlca*, CLI_ERRORHEADERINFO*) from
    /home/<user>/sqllib/lib64/libdb2o.so.1
    SQLEndTran from /home/<user>/sqllib/lib64/libdb2o.so.1
    SQLTransact from /opt/ibm/ace-11.0.0.10/ie02/lib/libodbc.so
    SQLTransact from
    /opt/ibm/ace-11.0.0.10/ie02/lib/libodbcinterface.so
    
    
    When the following conditions are met:
    
    1) Three or more connections were made.
    2) Connections are of Type 2 (e.g. ConnectType=2 is set in
    db2cli.ini for data sources).
    3) The application disconnected inadvertently from the
    transaction manager database.
    4) Two or more connections have an outstanding distributed
    transaction that is being committed after 3) occurred and no new
    connection was made.
    
    
    In an environment where connections are configured to use a
    distributed transaction processing model by using type 2
    connections with Db2 as the transaction manager the connection
    to the transaction manager is defined by the Transaction manager
    database name (TM_DATABASE) database instance configuration (DBM
    CFG) parameter. By default, this parameter is set to 1ST_CONN.
    This means the first connection made by the application becomes
    implicitly the transaction manager database connection. This
    connection is used when processing distributed transactions at
    commit time if they involve two or more participants.
    
    The abend can occur when the application inadvertently
    disconnects explicitly from the database that also represented
    the transaction manager database while a distributed transaction
    needs to be committed and no other database connection was
    established.
    
    If the application makes another connection prior to the commit
    processing start then this connection becomes the transaction
    manager database connection and the commit processing can
    proceed.
    

Local fix

  • The code is fixed to prevent the abend and instead return
    SQL0859 with SQLCODE -1024 to indicate that the connection to
    the transaction manager database is missing. The application
    must make a new connection which becomes the new transaction
    manager database connection and redo the transaction.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * all                                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to 11.1.4.7                                          *
    ****************************************************************
    

Problem conclusion

  • Upgrade to 11.1.4.7
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT36200

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-03-12

  • Closed date

    2022-04-17

  • Last modified date

    2022-04-17

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

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

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • RB10 PSN

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"DB2 for Linux- UNIX and Windows"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"11.1","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
04 May 2022