Hi All,
The application running the following statement is a head of a large latch wait three according to the db2pd -latch
output.
/* IBM_DSSNAP */
select hld_application_handle , hld_member , hld_application_name , hld_userid , lock_name , lock_object_type , tabschema , tabname , data_partition_id , count(*) as num_waiters , sum(lock_wait_elapsed_time) * :L0 as total_lock_wait_elapsed_time , min(varchar(HLD_CURRENT_STMT_TEXT)) as stmt_text
from sysibmadm.mon_lockwaits
group by hld_application_handle, hld_member, hld_application_name, hld_userid, lock_name, lock_object_type, tabschema, tabname, data_partition_id
fetch first 5000 rows only with ur
The stack of this session:
<StackTrace>
-------Frame------ ------Function + Offset------
0x0900000008C15C98 sqloXlatchConflict + 0x8F8
0x09000000092D46C8 sqlpLLMTryInstant__FP9sqeBsuEduP14SQLP_LOCK_INFOP9SQLP_LHSHPUcN24Ps + 0xAA8
0x0900000009C49554 sqlplGetHoldingMemberForLock__FCP9sqeBsuEduCPC13SQLP_LOCKNAMEUl + 0x194
0x090000000D8E4DA4 execute__25sqlrwAgentLockWaitBuilderFP8sqeAgentT1 + 0xB44
0x090000000D8E6A20 execute__29sqlrwApplicationAgentIteratorFP14sqeApplication + 0x2E0
0x090000000D8EA954 execute__32sqlrwFilteredApplicationIteratorFv + 0x6D4
0x090000000D91F22C sqlrwGetApplLockwait__FP8sqlrr_cbP24sqlrwGetApplLockwaitArgsPPvPl + 0x2AC
0x090000000D937624 sqlrwGetWLMTableFunctionResult__FP8sqlrr_cbP20sqlrw_rpc_tf_requestPPvPlbP19SQLR_BDSREPLY_STATE + 0x364
0x09000000100C9440 sqlrwGetWLMTableFunctionMergedResult__FUiPPv + 0x9E0
0x09000000098ED818 sqlerTrustedRtnCallbackRouter__FUiPPv + 0x378
0x0900000030DDCFC0 monGetApplLockwait + 0x1540
0x0900000008B7D414 sqloInvokeFnArgs + 0x5B94
0x090000000B268240 IPRA.$sqlriInvokerTrusted__FP10sqlri_ufobP21sqlriRoutineErrorIntfb + 0xC60
0x090000000B25FE28 sqlriInvokeInvoker__FP10sqlri_ufobb + 0x2008
0x090000000B261A18 sqlriutf__FP8sqlrr_cb + 0x138
0x090000000FC677B8 sqlri_tfopn__FP8sqlrr_cbP9sqlri_tao + 0x1F8
0x090000000B523468 sqlriopn__FP8sqlrr_cbP9sqlri_taoPi + 0x5A8
0x090000000D23DDB4 sqlrita__FP8sqlrr_cb + 0x13F4
0x090000000B954A28 sqlriSectInvoke__FP8sqlrr_cbP12sqlri_opparm + 0x688
0x090000000ADBAC14 sqlrr_process_fetch_request__FP14db2UCinterface + 0xD14
0x090000000ADBDEA4 sqlrr_open__FP14db2UCinterfaceP15db2UCCursorInfo + 0xF84
0x09000000101445C0 sqljs_ddm_opnqry__FP14db2UCinterfaceP13sqljDDMObject + 0x4C0
0x09000000100DD078 sqljsParseRdbAccessed__FP13sqljsDrdaAsCbP13sqljDDMObjectP14db2UCinterface + 0x298
0x09000000100E0134 sqljsParse__FP13sqljsDrdaAsCbP14db2UCinterfaceP8sqeAgentb + 0x22B4
0x090000000984CE7C IPRA.$sqljsSqlam__FP14db2UCinterfaceP8sqeAgentb + 0xEFC
0x0900000009855634 sqljsDriveRequests__FP8sqeAgentP14db2UCconHandle + 0xB4
0x090000000984AD9C IPRA.$sqljsDrdaAsInnerDriver__FP18SQLCC_INITSTRUCT_Tb + 0x141C
0x09000000098481BC sqljsDrdaAsDriver__FP18SQLCC_INITSTRUCT_T + 0x33C
0x0900000008CD8920 RunEDU__8sqeAgentFv + 0xB60
0x0900000008CB2840 EDUDriver__9sqzEDUObjFv + 0x300
0x0900000008B91500 sqloEDUEntry + 0x360
</StackTrace>
...
<LatchInformation>
Waiting on latch type: (SQLO_LT_SQLP_LHSH__xhshlatch) - Address: (0xa0003000179c550), Line: 2706, File: /view/db2_v111m4fp6_aix64_s2102191900/vbs/engn/sqp/inc/sqlpLockInternal.h
Holding Latch type: (SQLO_LT_SQLP_LHSH__xhshlatch) - Address: (0xa0003000179c550), Line: 2706, File: ../sqp/inc/sqlpLockInternal.h HoldCount: 1
Holding Latch type: (SQLO_LT_sqeAppServices__m_appServLatch) - Address: (0x78000000ad95728), Line: 11676, File: sqlrw_wlm_tf.C HoldCount: 1
Holding Latch type: (SQLO_LT_sqeApplication__masterAppLatch) - Address: (0x78000000febeed4), Line: 189, File: /view/db2_v111m4fp6_aix64_s2102191900/vbs/engn/include/sqle_app_services.h HoldCount: 1
</LatchInformation>
Waiting and Holding latch address is the same: 0xa0003000179c550
Is this a self dead latch situation?
------------------------------
Mark Barinstein
------------------------------