DB2 - Problem description
Problem IC65734 | Status: Closed |
INSTANCE CRASH WHILE INSERTING RECORDS INTO A SORT IF ENHANCED_MULTIPLE_DISTINCT DB2SET SETTING IS USED. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
If the following conditions are true: - The instance is configured for DPF - db2set registry has DB2_EXTENDED_OPTIMIZATION=ENHANCED_MULTIPLE_DISTINCT - a query is run that contains multiple aggregations (i.e. sum/avg/max) - the query is interrupted with a particular timing Then the instance may crash. The stack traceback file for the thread that trapped will show something like this: 0x090000000AACF5D8 sqlsinsr + 0xEC 0x090000000AC6FBA8 sqlrsinsr + 0x44 0x090000000AC6FAC0 sqlrisrt + 0xFC 0x0900000009CBD20C sqlriDetachCse + 0x378 ... The exact stack may vary from the above slightly. The key indicator that this problem was encountered is the existance of the function sqlriDetachCse on the stack and then a sort above it. The issue happens because of a logic problem where one thread/EDU that gets interrupted can drop the sort while another thread/EDU is still trying to insert records into it, causing the second one to crash. | |
Problem Summary: | |
If the following conditions are true: - The instance is configured for DPF - db2set registry has DB2_EXTENDED_OPTIMIZATION=ENHANCED_MULTIPLE_DISTINCT - a query is run that contains multiple aggregations (i.e. sum/avg/max) - the query is interrupted with a particular timing Then the instance may crash. The stack traceback file for the thread that trapped will show something like this: 0x090000000AACF5D8 sqlsinsr + 0xEC 0x090000000AC6FBA8 sqlrsinsr + 0x44 0x090000000AC6FAC0 sqlrisrt + 0xFC 0x0900000009CBD20C sqlriDetachCse + 0x378 ... The exact stack may vary from the above slightly. The key indicator that this problem was encountered is the existance of the function sqlriDetachCse on the stack and then a sort above it. The issue happens because of a logic problem where one thread/EDU that gets interrupted can drop the sort while another thread/EDU is still trying to insert records into it, causing the second one to crash. | |
Local Fix: | |
The problem is unique to access plans generated by ENHANCED_MULTIPLE_DISTINCT. Disabling the db2set parameter will avoid this crash. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows | |
Solution | |
apar IC65734 module engn_sqri fixed >= v97 fpk2 | |
Workaround | |
The problem is unique to access plans generated by ENHANCED_MULTIPLE_DISTINCT. Disabling the db2set parameter w | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 20.01.2010 06.07.2010 06.07.2010 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FPk2 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.2 |