DB2 - Problem description
| Problem IC84141 | Status: Closed |
PERFORMANCE SLOWDOWN DURING BUFFER POOL FLUSH WHEN STMM IS ALTER ING THE BUFFER POOL, ONLINE BACKUP RUNNING, AND PAGE CLEANERS PA | |
| product: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
| Problem description: | |
This is an infrequent timing issue that can only happen if the
following conditions are true:
1) STMM altering a buffer pool
2) Online database backup has started. As the result of this,
dirty pages from the same buffer pool are being written out to
the disk (the buffer pool is being flushed)
3) Page cleaners are paused by STMM
An optional condition making the problem worse is:
4) The TRACKMOD DB CFG configuration parameter is enabled
Under these conditions, the buffer pool flush may take a long
time (even hours or longer, depending on the number of dirty
pages that need to be written out), which the end user may
perceive as a hang. The user will not be force off the running
backup during this time. The following symptoms will be seen:
ad 1) STMM altering a buffer pool:
EDU "db2stmm" waiting for the
"SQLO_LT_SQLB_BufferPool__prevBPDCachingLatch" latch. The call
stack for this EDU will have the "sqlbFinalizeRTBPState" eye
catcher present on the stack, usually similar to:
getConflictComplex
getConflict
sqlbFinalizeRTBPState
sqlbAlterBufferPoolAct
sqlbAlterAutomaticBufferPool
sqlrlStmmAlterBufferPool
stmmAlterBufferPool
ad 2) Online backup flushing the same buffer pool:
The owner of "SQLO_LT_SQLB_BufferPool__prevBPDCachingLatch" will
be "db2bm". This EDU will be flushing the buffer pool. Call
stacks taken in several iterations will reveal this EDU in
various phases of writing out dirty pages, typically during file
system write operations. If TRACKMOD enabled, the flush will
take even longer because we will need to write more dirty pages
than with TRACKMOD disabled. An example call stack will contain
"sqlbFlushFull":
pwrite64
sqloseekwrite64
sqloWriteBlocks
sqlbWriteBlocks
sqlbWritePageToDisk
sqlbWritePage
sqlbFlushForDLSubset
sqlbFlush
sqlbFlushFull
sqlubBMCont
sqlubbuf
ad 3) Page cleaners paused
All the page cleaners ("db2pclnr" EDUs) will be paused. Their
call stack will show "sqlbClnrCheckAndPause", for example:
semtimedop
sqloWaitEDUWaitPost
sqlbClnrCheckAndPause
sqlbClnrFindWork
sqlbClnrEntryPoint
sqbPgClnrEdu | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users prior to DB2 V10.1 * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 V10.1 FP1 * **************************************************************** | |
| Local Fix: | |
1) Alter the buffer pool, making it non-automatic (manual), i.e. not tunable by STMM, OR 2) Take an offline backup if possible | |
| available fix packs: | |
DB2 Version 10.1 Fix Pack 1 for Linux, UNIX, and Windows | |
| Solution | |
First Fixed in DB2 V10.1 FP1 | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 12.06.2012 02.11.2012 02.11.2012 |
| Problem solved at the following versions (IBM BugInfos) | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 10.1.0.1 |
|
| 10.5.0.1 |
|