PDF (A4) - 40.5Mb
Man Pages (TGZ) - 259.5Kb
Man Pages (Zip) - 366.7Kb
Info (Gzip) - 4.1Mb
Info (Zip) - 4.1Mb
Thelocks_per_fragment table provides information about counts of lock claim requests, and the outcomes of these requests on a per-fragment basis, serving as a companion table tooperations_per_fragment andmemory_per_fragment. This table also shows the total time spent waiting for locks successfully and unsuccessfully since fragment or table creation, or since the most recent restart.
Thelocks_per_fragment table contains the following columns:
fq_nameFully qualified table name
parent_fq_nameFully qualified name of parent object
typeTable type; see text for possible values
table_idTable ID
node_idReporting node ID
block_instanceLDM instance ID
fragment_numFragment identifier
ex_reqExclusive lock requests started
ex_imm_okExclusive lock requests immediately granted
ex_wait_okExclusive lock requests granted following wait
ex_wait_failExclusive lock requests not granted
sh_reqShared lock requests started
sh_imm_okShared lock requests immediately granted
sh_wait_okShared lock requests granted following wait
sh_wait_failShared lock requests not granted
wait_ok_millisTime spent waiting for lock requests that were granted, in milliseconds
wait_fail_millisTime spent waiting for lock requests that failed, in milliseconds
Notes
block_instance refers to an instance of a kernel block. Together with the block name, this number can be used to look up a given instance in thethreadblocks table.
fq_name is a fully qualified database object name indatabase/schema/name format, such astest/def/t1 orsys/def/10/b$unique.
parent_fq_name is the fully qualified name of this object's parent object (table).
table_id is the table's internal ID generated byNDB. This is the same internal table ID shown in otherndbinfo tables; it is also visible in the output ofndb_show_tables.
Thetype column shows the type of table. This is always one ofSystem table,User table,Unique hash index,Hash index,Unique ordered index,Ordered index,Hash index trigger,Subscription trigger,Read only constraint,Index trigger,Reorganize trigger,Tablespace,Log file group,Data file,Undo file,Hash map,Foreign key definition,Foreign key parent trigger,Foreign key child trigger, orSchema transaction.
The values shown in all of the columnsex_req,ex_req_imm_ok,ex_wait_ok,ex_wait_fail,sh_req,sh_req_imm_ok,sh_wait_ok, andsh_wait_fail represent cumulative numbers of requests since the table or fragment was created, or since the last restart of this node, whichever of these occurred later. This is also true for the time values shown in thewait_ok_millis andwait_fail_millis columns.
Every lock request is considered either to be in progress, or to have completed in some way (that is, to have succeeded or failed). This means that the following relationships are true:
ex_req >= (ex_req_imm_ok + ex_wait_ok + ex_wait_fail)sh_req >= (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)The number of requests currently in progress is the current number of incomplete requests, which can be found as shown here:
[exclusive lock requests in progress] = ex_req - (ex_req_imm_ok + ex_wait_ok + ex_wait_fail)[shared lock requests in progress] = sh_req - (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)A failed wait indicates an aborted transaction, but the abort may or may not be caused by a lock wait timeout. You can obtain the total number of aborts while waiting for locks as shown here:
[aborts while waiting for locks] = ex_wait_fail + sh_wait_failPDF (A4) - 40.5Mb
Man Pages (TGZ) - 259.5Kb
Man Pages (Zip) - 366.7Kb
Info (Gzip) - 4.1Mb
Info (Zip) - 4.1Mb