IBM Support

IC75237: SQLPXTENTRYSWITCHIN REPORTS SQLP_NOTA IF TRANSACTION TIME OUT IS SET.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • If transaction time out is set using  setTransactionTimeout jdbc
    function or XATimeout (xt) variable in xaopen string,  DB2 as RM
    incorrect rollbacks the transaction under the following
    conditions. The next XA request reports XAER_NOTA, a message
    with return code SQLP_NOTA  is logged in db2diag.log.
    
    1. DB2 incorrectly rollbacks the transaction before the expired
    time if transaction endtime is very close to the time used by
    resync process to check the expired transaction. Bascially,
    while resync process is checking the transaction to mark it as
    the expired transaction, transaction is moved to ended state at
    the same time. db2 inocrrectly marks the transaction as expired
    and rollback it.
    TM receives return code -4 (XAER_NOTA) on xa_prepare (prepare to
    commit) or commit/rollback. A message SQLP_NOTA is logged in
    db2diag.log
    
    2. DB2 as a RM returns OK, on "prepare to commit" or xa_prepare,
    but replies XAER_NOTA on xa_commit because transaction is
    incorrectly rolledback by DB2 as RM. The issue can happen under
    rare condition. While working on expired transactions, if the
    transaction is moved to prepared state because of concurrent
    xa_prepare call from TM, db2 resync process incorrectly
    rollbacks the prepared transaction. XATimeout is only applicable
    for ended transaction.
    
    db2diag.log shows the following message because of the error
    condition:
    
    EDUID : 45490 EDUNAME: db2agent (CLSCOR) 0
    FUNCTION: DB2 UDB, data protection services,
    sqlpxTEntrySwitchIn,
    probe:300
    RETCODE : ZRC=0x80100024=-2146435036=SQLP_NOTA "Transaction was
    not
    found"
    DIA8036C XA error with request type of "". Transaction was not
    found.
    

Local fix

  • Remove XATimeout from xa_open string  or in case of  Java
    application, remove transaction timeout.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * DB2 V97 and above                                            *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * SQLPXTENTRYSWITCHIN REPORTS SQLP_NOTA IF TRANSACTION TIME    *
    * OUT IS                                                       *
    * SET.                                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Remove XATimeout from xa_open string  or in case of  Java    *
    *                                                              *
    * application, remove transaction timeout.                     *
    ****************************************************************
    

Problem conclusion

  • Upgrade to fixpack containing the fix i.e v97fp5
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC75237

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-03-23

  • Closed date

    2011-12-08

  • Last modified date

    2011-12-08

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

    IC73457

  • 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

  • R970 PSY

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 9.7

Reference #: IC75237

Modified date: 08 December 2011