DB2 - Problembeschreibung
Problem IC75237 | Status: Geschlossen |
SQLPXTENTRYSWITCHIN REPORTS SQLP_NOTA IF TRANSACTION TIME OUT IS SET. | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problembeschreibung: | |
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-Zusammenfassung: | |
**************************************************************** * 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. | |
verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
Lösung | |
Upgrade to fixpack containing the fix i.e v97fp5 | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 23.03.2011 08.12.2011 08.12.2011 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.FP5 | |
Problem behoben lt. FixList in der Version | |
9.7.0.5 |