DB2 - Problem description
Problem IT17488 | Status: Closed |
SELECT AGAINST MDC TABLE WITH A RANGE PREDICATE IN SMP MIGHT RETURN A WRONG RESULT | |
product: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
Problem description: | |
In a rare timing scenario SQL doing a range table scan on a MDC table in SMP mode only could loose rows from the result set. There are optimizations in DB2 to determine the best next range for each subagent to scan based on the usage of the system. However, the calculation in the optimization does not ensure each scan range is within the MDC block boundary and end up with a range covering more than a single block. On the other hand, block predicate evaluation on a MDC table scan is done only once per range since it does not expect the scan range to cross a block boundary, it can incorrectly skip pages that would have been qualified for the scan predicate. And this is timing related. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 10.1 Fix Pack 6 * **************************************************************** | |
Local Fix: | |
Disable SMP mode. Or don't specify a range predicate on the MDC columns. | |
Solution | |
First fixed in DB2 10.1 Fix Pack 6 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 13.10.2016 02.03.2017 02.03.2017 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |