DB2 - Problem description
Problem IC82629 | Status: Closed |
DATABASE CRASH DUE TO INCORRECT ROW WIDTH WHEN INSERTING INTO A TEMPORARY TABLE WITH XML COLUMNS IN A MERGE JOIN. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
The symptom of this problem is a database crash. The following entries will be logged in the db2diag.log before the crash: 2012-04-10-21.28.30.700425-240 I26566A556 LEVEL: Severe PID : 4698234 TID : 1544 PROC : db2sysc INSTANCE: jtnisbet NODE : 000 DB : TESTER APPHDL : 0-7 APPID: *LOCAL.jtnisbet.120411010306 AUTHID : JTNISBET EDUID : 1544 EDUNAME: db2agent (TESTER) FUNCTION: DB2 UDB, data management, sqldFastFormatFixedVar, probe:489 MESSAGE : Record length > Maximum record length. DATA #1 : Hexdump, 8 bytes 0x070000000EBF6BB8 : 0000 0000 0000 2733 ......'3 2012-04-10-21.28.30.702859-240 I27123A545 LEVEL: Severe PID : 4698234 TID : 1544 PROC : db2sysc INSTANCE: jtnisbet NODE : 000 DB : TESTER APPHDL : 0-7 APPID: *LOCAL.jtnisbet.120411010306 AUTHID : JTNISBET EDUID : 1544 EDUNAME: db2agent (TESTER) FUNCTION: DB2 UDB, data management, sqldRowInsert, probe:871 RETCODE : ZRC=0x87040055=-2029780907=SQLD_PRGERR "Unknown PROGRAM ERROR" DIA8576C A data management services programming error occurred. The db2dump directory will contain a stack traceback file with something like the following stack: MarkDBBad + 0x30C sqldDumpContext + 0x870 sqldRowInsert + 0x1670 sqlri_mgjnAppendToBuffer + 0x142C sqlri_mj + 0x2414 sqlriExecThread + 0x584 This problem might happen if the following conditions are ALL true: - There is a merge join in the access plan, where the inner columns (right side of the join) consists of at least one XML column. - The merge join's inner stream of rows feature duplicate values of the inner join key and it matches to the outer join key. - There is a shortage of sort memory such that the merge join can no longer buffer the inner rows in memory and is forced to spill rows to a temp table. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * DB2 V9.7 FP6 * **************************************************************** * PROBLEM DESCRIPTION: * * The symptom of this problem is a database crash. The * * following * * entries will be * * logged in the db2diag.log before the crash: * * * * 2012-04-10-21.28.30.700425-240 I26566A556 LEVEL: * * Severe * * PID : 4698234 TID : 1544 PROC : * * db2sysc * * INSTANCE: jtnisbet NODE : 000 DB : * * TESTER * * APPHDL : 0-7 APPID: * * *LOCAL.jtnisbet.120411010306 * * AUTHID : JTNISBET * * EDUID : 1544 EDUNAME: db2agent (TESTER) * * FUNCTION: DB2 UDB, data management, sqldFastFormatFixedVar, * * probe:489 * * MESSAGE : Record length > Maximum record length. * * DATA #1 : Hexdump, 8 bytes * * 0x070000000EBF6BB8 : 0000 0000 0000 2733 * * ......'3 * * * * 2012-04-10-21.28.30.702859-240 I27123A545 LEVEL: * * Severe * * PID : 4698234 TID : 1544 PROC : * * db2sysc * * INSTANCE: jtnisbet NODE : 000 DB : * * TESTER * * APPHDL : 0-7 APPID: * * *LOCAL.jtnisbet.120411010306 * * AUTHID : JTNISBET * * EDUID : 1544 EDUNAME: db2agent (TESTER) * * FUNCTION: DB2 UDB, data management, sqldRowInsert, probe:871 * * RETCODE : ZRC=0x87040055=-2029780907=SQLD_PRGERR "Unknown * * PROGRAM ERROR" * * DIA8576C A data management services programming * * error * * occurred. * * * * The db2dump directory will contain a stack traceback file * * with * * something * * like the following stack: * * * * MarkDBBad + 0x30C * * sqldDumpContext + 0x870 * * sqldRowInsert + 0x1670 * * sqlri_mgjnAppendToBuffer + 0x142C * * sqlri_mj + 0x2414 * * sqlriExecThread + 0x584 * * * * This problem might happen if the following conditions are * * ALL * * true: * * - There is a merge join in the access plan, where the inner * * columns (right * * side of the join) consists of at least one XML column. * * - The merge join's inner stream of rows feature duplicate * * values * * of the inner join key * * and it matches to the outer join key. * * - There is a shortage of sort memory such that the merge * * join * * can no longer * * buffer the inner rows in memory and is forced to spill rows * * to a * * temp table. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 V9.7 FP7 * **************************************************************** | |
Local Fix: | |
Since the problem is specific to a merge join, it may be possible to optimize the query in a different way that chooses an alternate join method. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows | |
Solution | |
First Fixed in DB2 V9.7 FP7 | |
Workaround | |
not known / see Local fix | |
BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC84603 IC84616 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 12.04.2012 05.11.2012 05.11.2012 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP7 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.7 |