home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC75237 Status: Closed

SQLPXTENTRYSWITCHIN REPORTS SQLP_NOTA IF TRANSACTION TIME OUT IS SET.

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem 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.
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.                     * 
****************************************************************
Local Fix:
Remove XATimeout from xa_open string  or in case of  Java 
application, remove transaction timeout.
available fix packs:
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Upgrade to fixpack containing the fix i.e v97fp5
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
23.03.2011
08.12.2011
08.12.2011
Problem solved at the following versions (IBM BugInfos)
9.7.FP5
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.5 FixList