DB2 - Problem description
Problem IC99120 | Status: Closed |
DIRTY LIST LATCH CONTENTION DROPPING TEMP TABLES AT COMMIT CREATED BY XML PROCESSING | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
When a transaction performs XML processing involving the XMLTable function, a temp table may need to be created. e.g. a select like : select X.COL1 from XMLSOURCE S, XMLTABLE ( '$s/NOD1' PASSING S.MYXML as "s" COLUMNS COL1 VARCHAR(100) PATH 'TAB1/COL1' ) AS X; would create a system temporary table. When the transaction is completed , commit or rollback, this temp table is dropped. Dropping of these temps is usually executed asynchronously by the prefetcher edus to minimize the performance impact. However, when there is a high level of concurrency it is possible that the available prefetch requests become exhausted at which point the agent performing the commit/rollback will drop the temp. This in turn can increase the concurrency on the function performing the actual drop and this can create a situation of high latch contention driving significant performance impact. The stacks for the sessions in contention may show : sqloSpinLockConflict sqlbGetDLSize sqlbPurgeObject sqlbSMSDeleteObject sqldDropObj sqldDropTable sqldTableDrop and/or sqloSpinLockConflict sqlbSplatObject sqlbPurgeObject sqlbSMSDeleteObject sqldDropObj sqldDropTable sqldTableDrop | |
Problem Summary: | |
See APAR description | |
Local Fix: | |
The problem can be alleviated by 1. increasing the available prefetch requests by setting values for NUMPREFETCHQUEUES and PREFETCHQUEUESIZE. ( in releases < V10.1 ). See Infocenter on how to set these. 2. associating a smaller dedicated bufferpool to the temp tablespace. bufferpool to temp tablespaces. | |
Solution | |
Problem first fixed in DB2 9.7 Fix Pack 10 | |
Workaround | |
See APAR description | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 03.02.2014 18.11.2014 18.11.2014 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP10 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.10 |