The server_operations
table contains entries
for all ongoing NDB
operations that
the current SQL node (MySQL Server) is currently involved in. It
effectively is a subset of the
cluster_operations
table, in
which operations for other SQL and API nodes are not shown.
The server_operations
table contains the
following columns:
mysql_connection_id
MySQL Server connection ID
node_id
Node ID
block_instance
Block instance
transid
Transaction ID
operation_type
Operation type (see text for possible values)
state
Operation state (see text for possible values)
tableid
Table ID
fragmentid
Fragment ID
client_node_id
Client node ID
client_block_ref
Client block reference
tc_node_id
Transaction coordinator node ID
tc_block_no
Transaction coordinator block number
tc_block_instance
Transaction coordinator block instance
Notes
The mysql_connection_id
is the same as the
connection or session ID shown in the output of
SHOW PROCESSLIST
. It is obtained
from the INFORMATION_SCHEMA
table
NDB_TRANSID_MYSQL_CONNECTION_MAP
.
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 the
threadblocks
table.
The transaction ID (transid
) is a unique
64-bit number which can be obtained using the NDB API's
getTransactionId()
method. (Currently, the MySQL Server does not expose the NDB API
transaction ID of an ongoing transaction.)
The operation_type
column can take any one of
the values READ
, READ-SH
,
READ-EX
, INSERT
,
UPDATE
, DELETE
,
WRITE
, UNLOCK
,
REFRESH
, SCAN
,
SCAN-SH
, SCAN-EX
, or
<unknown>
.
The state
column can have any one of the
values ABORT_QUEUED
,
ABORT_STOPPED
, COMMITTED
,
COMMIT_QUEUED
,
COMMIT_STOPPED
,
COPY_CLOSE_STOPPED
,
COPY_FIRST_STOPPED
,
COPY_STOPPED
, COPY_TUPKEY
,
IDLE
, LOG_ABORT_QUEUED
,
LOG_COMMIT_QUEUED
,
LOG_COMMIT_QUEUED_WAIT_SIGNAL
,
LOG_COMMIT_WRITTEN
,
LOG_COMMIT_WRITTEN_WAIT_SIGNAL
,
LOG_QUEUED
, PREPARED
,
PREPARED_RECEIVED_COMMIT
,
SCAN_CHECK_STOPPED
,
SCAN_CLOSE_STOPPED
,
SCAN_FIRST_STOPPED
,
SCAN_RELEASE_STOPPED
,
SCAN_STATE_USED
,
SCAN_STOPPED
, SCAN_TUPKEY
,
STOPPED
, TC_NOT_CONNECTED
,
WAIT_ACC
, WAIT_ACC_ABORT
,
WAIT_AI_AFTER_ABORT
,
WAIT_ATTR
, WAIT_SCAN_AI
,
WAIT_TUP
, WAIT_TUPKEYINFO
,
WAIT_TUP_COMMIT
, or
WAIT_TUP_TO_ABORT
. (If the MySQL Server is
running with
ndbinfo_show_hidden
enabled,
you can view this list of states by selecting from the
ndb$dblqh_tcconnect_state
table, which is
normally hidden.)
You can obtain the name of an NDB
table from
its table ID by checking the output of
ndb_show_tables.
The fragid
is the same as the partition
number seen in the output of ndb_desc
--extra-partition-info
(short
form -p
).
In client_node_id
and
client_block_ref
, client
refers to an NDB Cluster API or SQL node (that is, an NDB API
client or a MySQL Server attached to the cluster).
The block_instance
and
tc_block_instance
column provide NDB kernel
block instance numbers. You can use these to obtain information
about specific threads from the
threadblocks
table.