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
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 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.