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_idMySQL Server connection ID
node_idNode ID
block_instanceBlock instance
transidTransaction ID
operation_typeOperation type (see text for possible values)
stateOperation state (see text for possible values)
tableidTable ID
fragmentidFragment ID
client_node_idClient node ID
client_block_refClient block reference
tc_node_idTransaction coordinator node ID
tc_block_noTransaction coordinator block number
tc_block_instanceTransaction 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.