Updated on 2024-08-20 GMT+08:00

GLOBAL_THREAD_WAIT_STATUS

In this view, you can check the blocking and waiting status of the backend threads and auxiliary threads on all nodes, as described in Table GLOBAL_THREAD_WAIT_STATUS columns. For details about the events, see Table Wait event information list.

In GLOBAL_THREAD_WAIT_STATUS, you can see all the call hierarchy relationships between threads of the SQL statements on all nodes in the cluster, and the block waiting status for each thread. With this view, you can easily locate the causes of process hang and similar issues.

The definitions of GLOBAL_THREAD_WAIT_STATUS and THREAD_WAIT_STATUS are the same, because the essence of the GLOBAL_THREAD_WAIT_STATUS view is the query summary of the THREAD_WAIT_STATUS view on each node in the cluster.

Table 1 GLOBAL_THREAD_WAIT_STATUS columns

Name

Type

Description

node_name

text

Node name.

db_name

text

Database name.

thread_name

text

Thread name.

query_id

bigint

Query ID. The value of this column is the same as that of debug_query_id.

tid

bigint

Thread ID of the current thread.

sessionid

bigint

Session ID.

lwtid

integer

Lightweight thread ID of the current thread.

psessionid

bigint

Parent thread of the streaming thread.

tlevel

integer

Level of the streaming thread.

smpid

integer

Concurrent thread ID.

wait_status

text

Waiting status of the current thread. For details about the waiting status, see Table Wait event information list.

wait_event

text

If wait_status is acquire lock, acquire lwlock, or wait io, this column describes the lock, lightweight lock, or I/O information. Otherwise, this column is empty.

locktag

text

Information about the lock that the current thread is waiting for.

lockmode

text

Lock mode that the current thread is waiting to obtain. The values include table-level lock, row-level lock, and page-level lock modes.

block_sessionid

bigint

ID of the session that blocks the current thread from obtaining the lock.

global_sessionid

text

Global session ID.