The server_transactions
table is subset of the cluster_transactions
table, but includes only those transactions in which the current SQL node (MySQL Server) is a participant, while including the relevant connection IDs.
The server_transactions
table contains the following columns:
mysql_connection_id
MySQL Server connection ID
node_id
Transaction coordinator node ID
block_instance
Transaction coordinator block instance
transid
Transaction ID
state
Operation state (see text for possible values)
count_operations
Number of stateful operations in the transaction
outstanding_operations
Operations still being executed by local data management layer (LQH blocks)
inactive_seconds
Time spent waiting for API
client_node_id
Client node ID
client_block_ref
Client block reference
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 state
column can have any one of the values CS_ABORTING
, CS_COMMITTING
, CS_COMMIT_SENT
, CS_COMPLETE_SENT
, CS_COMPLETING
, CS_CONNECTED
, CS_DISCONNECTED
, CS_FAIL_ABORTED
, CS_FAIL_ABORTING
, CS_FAIL_COMMITTED
, CS_FAIL_COMMITTING
, CS_FAIL_COMPLETED
, CS_FAIL_PREPARED
, CS_PREPARE_TO_COMMIT
, CS_RECEIVING
, CS_REC_COMMITTING
, CS_RESTART
, CS_SEND_FIRE_TRIG_REQ
, CS_STARTED
, CS_START_COMMITTING
, CS_START_SCAN
, CS_WAIT_ABORT_CONF
, CS_WAIT_COMMIT_CONF
, CS_WAIT_COMPLETE_CONF
, CS_WAIT_FIRE_TRIG_REQ
. (If the MySQL Server is running with ndbinfo_show_hidden
enabled, you can view this list of states by selecting from the ndb$dbtc_apiconnect_state
table, which is normally hidden.)
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
column provides the DBTC
kernel block instance number. You can use this to obtain information about specific threads from the threadblocks
table.