tencent cloud

TDSQL Boundless

Release Notes
Product Introduction
Overview
Scenarios
Product Architecture
Instance Types
Compatibility Notes
Usage specification recommendations
Kernel Features
Kernel Overview
Kernel Version Release Notes
Functionality Features
Performance Features
Billing
Billing Overview
Purchase Method
Pricing Details
Renewal
Overdue Payments
Refund
Getting Started
Creating an Instance
Connect to Instances
User Guide
Data Migration
Data Subscription
Instance Management
Parameter Configuration
Account Management
Security Group
Backup and Restoration
Database Auditing
Tag Management
Use Cases
Technical Evolution and Usage Practices of Online DDL
Lock Mechanism Analysis and Troubleshooting Practices
Data Intelligent Scheduling and Related Practices for Performance Optimization
TDSQL Boundless Selection Guide and Practical Tutorial
Developer Guide
Developer Guide (MySQL Compatibility Mode)
Developer Guide (HBase Compatibility Mode)
Performance Tuning
Performance Tuning Overview
SQL Tuning
DDL Tuning
Performance White Paper
Performance Overview
TPC-C Test
Sysbench Test
API Documentation
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
General Reference
System Architecture
SQL Reference
Database Parameter Description
TPC-H benchmark data model reference
Error Code Information
Security and Compliance
FAQs
Agreements
Service Level Agreement
Terms of Service
Privacy Policy
Data Processing And Security Agreement
Contact Us
Glossary

TDSTORE_PART_CTX

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2026-02-10 11:06:32

Function

TDSTORE_PART_CTX is used to display all information about pessimistic lock waiting on the TDStore of all hybrid nodes in the cluster.

Field Description

Field Name
Type
Nullable
Description
trans_id
bigint unsigned
No
The unique identifier of a transaction.
state
varchar(16)
No
Status of the participant.
RUNNING: The participant is in the read-write phase (that is, has not yet entered the commit process), and is not blocked by pessimistic locks.
WAIT LOCK: The participant is in the read-write phase and is being blocked by a pessimistic lock (in this case, requested_lock_id and blocking_lock_id must not be NULL).
COMMITTING: The participant is attempting to commit (which does not mean that the transaction will ultimately be committed successfully).
ROLLING BACK: The participant is rolling back.
commit_state
varchar(10)
No
Commit status of the participant.
INIT: The participant has not yet entered the commit process, or has entered the commit process and is synchronizing redo/prepare logs.
FAILED: The participant failed to prepare.
PREPARE: The 2PC prepare of the participant succeeds.
COMMIT: The 2PC commit of the participant succeeds.
ABORT: The 2PC prepare of the participant succeeds, but aborts in the second phase.
CLEAR: After the participant commits or aborts, it is about to release the participant context (this state is very brief).
The state transition is as shown in the figure below:



snapshot_ts
bigint unsigned
No
Timestamp of snapshot reading for the participant.
prepare_ts
bigint unsigned
Yes
The prepare timestamp of the transaction. All participants that have prepared in the transaction share the same prepare timestamp. When a participant has not yet prepared, the value is NULL.
commit_ts
bigint unsigned
Yes
The commit timestamp of the transaction. All participants that have committed in the transaction share the same commit timestamp. When a participant has not yet committed, the value is NULL.
is_replay
int
No
If the value is 1, it indicates that the participant is advancing 2PC by replaying raft log. This generally occurs on a Follower, but may also occur before the Leader takes office.
data_space_type
varchar(32)
No
The data space corresponding to the participant. DATA_SPACE_TYPE_USER indicates that the participant accessed user tables; DATA_SPACE_TYPE_SYSTEM indicates that the participant accessed system tables.
replication_group_id
bigint unsigned
No
Replication group ID of the participant.
coordinator_replication_group_id
bigint unsigned
Yes
The replication group ID of the coordinator. When the participant has not yet prepared, the value is NULL.
expired_time
datetime
No
Time for participant release due to timeout.
requested_lock_id
varchar(128)
Yes
The unique identifier for the pessimistic lock being applied for or the key range being read. The format refers to the ENGINE_LOCK_ID field in the data_locks table. If there is no pending pessimistic lock, the value is NULL.
blocking_lock_id
varchar(128)
Yes
The unique identifier for the pending pessimistic lock. The format refers to the ENGINE_LOCK_ID field in the data_locks table. If there is no pending pessimistic lock, the value is NULL.
lock_wait_milliseconds
bigint unsigned
No
Cumulative time spent waiting for pessimistic locks (unit: ms).
single_keys_locked
bigint unsigned
No
The number of pessimistic locks held on a single key.
ranges_locked
bigint unsigned
No
The number of key-range pessimistic locks held.
write_batch_size
bigint unsigned
Yes
write batch size (unit: bytes). A NULL value indicates that the bthread collecting participant information failed to obtain the lock of the participant and thus could not retrieve the relevant information. In this case, it is highly likely that the participant is waiting for the release of a pessimistic lock.
lock_memory_usage
bigint unsigned
Yes
The memory consumed by pessimistic locks (unit: bytes). A NULL value indicates that the bthread collecting participant information failed to obtain the lock of the participant and thus could not retrieve the relevant information. In this case, it is highly likely that the participant is waiting for the release of a pessimistic lock.
isolation_level
varchar(16)
No
Isolation level. TDStore supports only two isolation levels: REPEATABLE_READ and READ_COMMITTED.
submit_pending_log_num
bigint unsigned
Yes
The number of raft logs being synchronized. A NULL value indicates that the bthread collecting participant information failed to obtain the lock of the participant and thus could not retrieve the relevant information; in this case, it is highly likely that the participant is waiting for the release of a pessimistic lock.
note
varchar(256)
No
Remark information.
Empty string: no remarks.
fail to acquire participant lock: Failed to obtain the participant lock. In this case, the values of some fields (such as write_batch_size) are NULL.
node_name
varchar(256)
Yes
The node name of the SQLEngine for enabling this transaction participant.
thread_id
bigint unsigned
No
The thread ID running this transaction participant. This is an internal thread ID in the Performance Schema, unique within the Performance Schema's lifecycle, and can be used to reliably correlate various event tables in the Performance Schema.
sql_session_id
bigint unsigned
No
The session ID corresponding to the connection that enabled this transaction participant.

Examples

Output example:
tdsql [(none)]> SELECT * FROM information_schema.tdstore_part_ctx LIMIT 3\\G
*************************** 1. row ***************************
trans_id: 28707112062290305
state: RUNNING
commit_state: INIT
snapshot_ts: 28707112062290305
prepare_ts: NULL
commit_ts: NULL
is_replay: 0
data_space_type: DATA_SPACE_TYPE_USER
replication_group_id: 257
coordinator_replication_group_id: NULL
expired_time: 2024-03-22 11:23:37
requested_lock_id: NULL
blocking_lock_id: NULL
lock_wait_milliseconds: 0
single_keys_locked: 4
ranges_locked: 0
write_batch_size: 3219
lock_memory_usage: 1008
isolation_level: REPEATABLE_READ
submit_pending_log_num: 0
note:
node_name: node-1-001
thread_id: 65
sql_session_id: 1048736
*************************** 2. row ***************************
trans_id: 28707112062290205
state: COMMITTING
commit_state: PREPARE
snapshot_ts: 28707112062290205
prepare_ts: 28707112062290205
commit_ts: 28707112062290368
is_replay: 0
data_space_type: DATA_SPACE_TYPE_USER
replication_group_id: 257
coordinator_replication_group_id: 257
expired_time: 2024-03-22 11:23:37
requested_lock_id: NULL
blocking_lock_id: NULL
lock_wait_milliseconds: 0
single_keys_locked: 7
ranges_locked: 0
write_batch_size: NULL
lock_memory_usage: NULL
isolation_level: REPEATABLE_READ
submit_pending_log_num: NULL
note: fail to acquire participant lock
node_name: node-1-001
thread_id: 65
sql_session_id: 1048736
*************************** 3. row ***************************
trans_id: 28707111676413643
state: LOCK WAIT
commit_state: INIT
snapshot_ts: 28707111676413643
prepare_ts: NULL
commit_ts: NULL
is_replay: 0
data_space_type: DATA_SPACE_TYPE_USER
replication_group_id: 257
coordinator_replication_group_id: NULL
expired_time: 2024-03-22 11:23:14
requested_lock_id: 28707111676413643_0000279C80018657
blocking_lock_id: 28707111676413316_0000279C80018657
lock_wait_milliseconds: 0
single_keys_locked: 4
ranges_locked: 0
write_batch_size: NULL
lock_memory_usage: NULL
isolation_level: REPEATABLE_READ
submit_pending_log_num: NULL
note: fail to acquire participant lock
node_name: node-1-002
thread_id: 65
sql_session_id: 1048704
Query Example:
-- Query the number of participants on the current node.
SELECT COUNT(*) FROM information_schema.tdstore_part_ctx \\G

-- Query participant information for replication group 257 on the current node.
SELECT * FROM information_schema.tdstore_part_ctx WHERE replication_group_id = 257 \\G

-- Query participant information during the commit process on the current node.
SELECT * FROM information_schema.tdstore_part_ctx WHERE state = 'COMMITTING' \\G

-- Query information on transactions with execution time exceeding 5s on the current node (currently, shifting trans_id right by 24 bits yields the unix timestamp of the transaction start time).
SELECT * FROM information_schema.tdstore_part_ctx WHERE trans_id >> 24 < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 5 SECOND)) \\G

-- Query information on large transactions with size of the write batch exceeding 128 MB on the current node (the data written by the transaction is stored in the write batch)
SELECT * FROM information_schema.tdstore_part_ctx WHERE write_batch_size > 128 * 1024 * 1024 \\G

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백