Updated on 2023-10-23 GMT+08:00

WAIT_EVENT_INFO

WAIT_EVENT_INFO displays the details about wait events.

Table 1 WAIT_EVENT_INFO columns

Name

Type

Description

module

text

Name of the module an event belongs to

type

text

Event type

event

text

Event name

Table 2 Wait event information list

Module Category

Event Category

Event

Description

Lock

Wait event

acquire lock

Waits for locking until the locking succeeds or times out.

SharedMemory

LWLock event

ShmemIndexLock

Used to protect the primary index table, a hash table, in shared memory.

Shared buffer

LWLock event

BufMappingLock

Used to protect operations on a shared-buffer mapping table.

Lmgr

LWLock event

LockMgrLock

Used to protect the information about a common lock structure.

LWLock

Wait event

acquire lwlock

Waits for a lightweight lock.

I/O

Wait event

wait io

Waits for I/O completion.

COMM

Wait event

wait cmd

Waits for finishing reading network communication packets.

COMM

Wait event

wait pooler get conn

Waits for pooler to obtain connections.

COMM

Wait event

wait pooler abort conn

Waits for pooler to terminate connections.

COMM

Wait event

wait pooler clean conn

Waits for pooler to clear connections.

COMM

Wait event

get conn

Obtains connections to other nodes.

COMM

Wait event

set cmd

Waits for running the SET, RESET, or TRANSACTION BLOCK LEVEL statement on the connection.

COMM

Wait event

cancel query

Cancels the SQL statement that is being executed through a connection.

COMM

Wait event

stop query

Stops the query that is being executed through a connection.

COMM

Wait event

wait node

Waits for receiving data through the connection to a node.

COMM

Wait event

flush data

Waits for sending data to other nodes in the network.

COMM

Wait event

stream get conn

Waits for establishing connections to consumer nodes when the stream flow is initialized.

COMM

Wait event

wait producer ready

Waits for every producer to get ready when the stream flow is initialized.

Stream

Wait event

synchronize quit

Waiting for the threads in the stream thread group to quit when the stream plan ends

Stream

Wait event

wait stream group destroy

Waiting for destroying the stream node group when the stream plan ends

Transaction

Wait event

wait transaction sync

Waits for transaction synchronization.

Transaction

Wait event

wait data sync

Waits for the completion of data page synchronization to the standby node.

Transaction

Wait event

wait data sync queue

Waits for putting the data pages that are in the row storage or the CU in the column storage into the synchronization queue.

Transaction

LWLock event

OidGenLock

Used to prevent different threads from generating the same OID.

Transaction

LWLock event

XidGenLock

Used to prevent two transactions from obtaining the same transaction ID.

Transaction

LWLock event

ProcArrayLock

Used to prevent concurrent access to or concurrent modification on ProcArray shared arrays.

Transaction

LWLock event

SubtransControlLock

Used to prevent concurrent access to or concurrent modification on the sub-transaction control data structure.

Transaction

LWLock event

MultiXactGenLock

Used to allocate a unique MultiXact ID in serial mode.

Transaction

LWLock event

TwoPhaseStateLock

Used to prevent concurrent access to or concurrent modification on two-phase information sharing arrays.

Transaction

LWLock event

SerializableXactHashLock

Used to prevent concurrent read/write or concurrent write/write on a sharing structure for serializable transactions.

Transaction

LWLock event

SerializableFinishedListLock

Used to prevent concurrent read/write or concurrent write/write on a shared linked list for completed serial transactions.

Transaction

LWLock event

SerializablePredicateLockListLock

Used to protect a linked list of serializable transactions that have locks.

Transaction

LWLock event

PredicateLockMgrLock

Used to protect the information about a lock structure that has serializable transactions.

Transaction

LWLock event

OldSerXid SLRU lwlock

Used to protect SLRU buffers of old transaction IDs.

Transaction

LWLock event

OldSerXidLock

Used to protect a structure that records serializable transactions that have conflicts.

Transaction

Lock event

transactionid

Adds a lock to a transaction ID.

Transaction

Lock event

virtualxid

Adds a lock to a virtual transaction ID.

Checkpoint

LWLock event

CheckpointLock

Used to prevent multi-checkpoint concurrent execution.

Checkpoint

LWLock event

CheckpointerCommLock

Used to send file flush requests to a checkpointer. The request structure needs to be inserted to a request queue in serial mode.

Analyze

LWLock event

AutoanalyzeLock

Used to obtain and release resources related to a task that allows for autoanalyze execution.

Vacuum

LWLock event

BtreeVacuumLock

Used to prevent VACUUM from clearing pages that are being used by B-tree indexes.

Vacuum

LWLock event

AutovacuumLock

Used to access the autovacuum worker array in serial mode.

Vacuum

LWLock event

AutovacuumScheduleLock

Used to distribute tables requiring VACUUM in serial mode.

Auto vacuum

LWLock event

AutovacuumLock

Used to protect the autovacuum shared memory structure.

Auto vacuum

LWLock event

AutovacuumScheduleLock

Used to protect the information about autovacuum workers.

Auto analyze

LWLock event

AutoanalyzeLock

Used to protect the autoAnalyzeFreeProcess variable and ensure that no more than 10 autoanalyze threads are running at the same time.

WAL

Wait event

wait wal sync

Waits for the completion of WAL synchronization from the specified LSN to the standby node.

WAL

I/O event

WALBootstrapSync

Flushes an initialized WAL file to a disk during database initialization.

WAL

I/O event

WALBootstrapWrite

Writes an initialized WAL file during database initialization.

WAL

I/O event

WALCopyRead

Read operation generated when an existing WAL file is read for replication after archiving and restoration.

WAL

I/O event

WALCopySync

Flushes a replicated WAL file to a disk after archiving and restoration.

WAL

I/O event

WALCopyWrite

Write operation generated when an existing WAL file is read for replication after archiving and restoration.

WAL

I/O event

WALInitSync

Flushes a newly initialized WAL file to a disk during log reclaiming or writing.

WAL

I/O event

WALInitWrite

Initializes a newly created WAL file to 0 during log reclaiming or writing.

WAL

I/O event

WALRead

Reads data from Xlogs during redo operations on two-phase files.

WAL

I/O event

WALSyncMethodAssign

Flushes all open WAL files to a disk.

WAL

I/O event

WALWrite

Writes a WAL file.

WAL

I/O event

LOGCTRL_SLEEP

Collects statistics on the number of stream control times and the sleep time of log stream control.

WAL

LWLock event

RcvWriteLock

Used to prevent concurrent call of WalDataRcvWrite.

WAL

LWLock event

WALBufMappingLock

An exclusive (X) lock needs to be added when the next page of an Xlog buffer is initialized.

WAL

LWLock event

WALInsertLock

Used to prevent multiple programs from writing data to the same Xlog buffer at the same time.

WAL

LWLock event

WALWriteLock

Used to prevent concurrent WAL write.

Relation

LWLock event

SInvalReadLock

Used to prevent concurrent execution with invalid message deletion.

Relation

LWLock event

SinvalWriteLock

Used to prevent concurrent execution with invalid message write and deletion.

Relation

LWLock event

RelCacheInitLock

Used to add a lock before any operations are performed on the init file when messages are invalid.

Relation

LWLock event

TablespaceCreateLock

Used to check whether a tablespace already exists.

Relation

LWLock event

RelfilenodeReuseLock

Used to prevent the link to a reused column attribute file from being canceled by mistake.

Relation

Lock event

relation

Adds a lock to a table.

Relation

Lock event

extend

Adds a lock to a table being scaled out.

Relation

Lock event

partition

Adds a lock to a partitioned table.

Relation

Lock event

partition_seq

Adds a lock to a partition of a partitioned table.

WLM

Wait event

wait active statement

Waits for active statements.

WLM

Wait event

wait memory

Waits for free memory.

DDL/DCL

Wait event

create index

Waits for the completion of index creation.

DDL/DCL

Wait event

analyze

Waits for analysis completion.

DDL/DCL

Wait event

vacuum

Waits for the completion of the VACUUM operation.

DDL/DCL

LWLock event

DelayDDLLock

Used to prevent concurrent DDL operations.

DDL/DCL

Wait event

vacuum full

Waits for the completion of the VACUUM FULL operation.

Executor

Wait event

Sort

Waits for the completion of tuple sorting.

Executor

Wait event

Sort - write file

Writes sorted data to a file temporarily since the memory is limited during merge sort.

Executor

Wait event

Material

Waits for tuple materialization.

Executor

Wait event

Material - write file

Waits for writing a materialized tuple to a file.

Executor

Wait event

HashJoin - build hash

Waits until a hash table is created when a hash join is executed.

Executor

Wait event

HashJoin - write file

Waits for writing the hash result of a tuple to a disk when a hash join is executed.

Executor

Wait event

HashAgg - build hash

Waits until a hash table is created when a hash aggregate is executed.

Executor

Wait event

HashAgg - write file

Waits for writing the hash result of a tuple to a disk when a hash aggregate is executed.

Executor

Wait event

HashSetop - build hash

Waits until a hash table is created when an OP operation is performed using the hash algorithm.

Executor

Wait event

HashSetop - write file

Waits for writing the hash result of a tuple to a disk when an OP operation is performed using the hash algorithm.

Executor

Wait event

wait sync consumer next step

Waits for the stream consumer to perform the next step.

Executor

Wait event

wait sync producer next step

Waits for the stream producer to perform the next step.

GTM

Wait event

gtm connect

Waits for connecting to GTM.

GTM

Wait event

gtm reset xmin

Waits for GTM to reset the minimum transaction ID.

GTM

Wait event

gtm get xmin

Waits for obtaining the minimum transaction ID from GTM.

GTM

Wait event

gtm get gxid

Waits for obtaining the global transaction ID from GTM during transaction startup.

GTM

Wait event

gtm get csn

Waits for obtaining the CSN from GTM during transaction startup.

GTM

Wait event

gtm get snapshot

Waits for obtaining snapshots from GTM during transaction startup.

GTM

Wait event

gtm begin trans

Waits for GTM to start a transaction.

GTM

Wait event

gtm commit trans

Waits for GTM to commit a transaction.

GTM

Wait event

gtm rollback trans

Waits for GTM to roll back transactions.

GTM

Wait event

gtm start preprare trans

Waits for GTM to complete the first phase during two-phase commit.

GTM

Wait event

gtm prepare trans

Waits for GTM to complete the second phase during two-phase commit.

GTM

Wait event

gtm open sequence

Waits for GTM to create a sequence.

GTM

Wait event

gtm close sequence

Waits for GTM to complete the ALTER SEQUENCE operation.

GTM

Wait event

gtm set sequence val

Waits for GTM to set a sequence value.

GTM

Wait event

gtm drop sequence

Waits for GTM to delete a sequence.

GTM

Wait event

gtm rename sequence

Waits for GTM to rename a sequence.

GTM

LWLock event

GTMHostInfoLock

Used to protect GTM information.

Temp File

I/O event

BufFileRead

Reads data from a temporary file to a specified buffer.

Temp File

I/O event

BufFileWrite

Writes the content of a specified buffer to a temporary file.

Pg_control

I/O event

ControlFileRead

Reads the pg_control file, mainly during database startup, checkpoint execution, and primary/standby verification.

Pg_control

I/O event

ControlFileSync

Flushes the pg_control file to a disk, mainly during database initialization.

Pg_control

I/O event

ControlFileSyncUpdate

Flushes the pg_control file to a disk, mainly during database startup, checkpoint execution, and primary/standby verification.

Pg_control

I/O event

ControlFileWrite

Writes the pg_control file, mainly during database initialization.

Pg_control

I/O event

ControlFileWriteUpdate

Updates the pg_control file, mainly during database startup, checkpoint execution, and primary/standby verification.

Pg_control

LWLock event

ControlFileLock

Used to prevent concurrent read/write or concurrent write/write on the pg_control file.

File operation

I/O event

CopyFileRead

Reads a file during file copying.

File operation

I/O event

CopyFileWrite

Writes a file during file copying.

File operation

I/O event

DataFileExtend

Writes a file during file extension.

Table data file

I/O event

DataFileImmediateSync

Flushes a table data file to a disk immediately.

Table data file

I/O event

DataFilePrefetch

Reads a table data file asynchronously.

Table data file

I/O event

DataFileRead

Reads a table data file synchronously.

Table data file

I/O event

DataFileSync

Synchronizes a table data file to a disk.

Table data file

I/O event

DataFileTruncate

Truncates a table data file.

Table data file

I/O event

DataFileWrite

Writes a table data file.

Table data file

LWLock event

SyncScanLock

Used to determine the start position of a relfilenode during heap scanning.

Table data file

LWLock event

RelationMappingLock

Used to wait for the mapping file between system catalogs and storage locations to be updated.

metadata

LWLock event

MetaCacheSweepLock

Used to add a lock when metadata is cyclically washed out.

postmaster.pid

I/O event

LockFileAddToDataDirRead

Reads the postmaster.pid file.

postmaster.pid

I/O event

LockFileAddToDataDirSync

Flushes the postmaster.pid file to a disk.

postmaster.pid

I/O event

LockFileAddToDataDirWrite

Writes PID information into the postmaster.pid file.

Pid File

I/O event

LockFileCreateRead

Reads the LockFile file %s.lock.

Pid File

I/O event

LockFileCreateSync

Flushes the LockFile file %s.lock to a disk.

Pid File

I/O event

LockFileCreateWRITE

Writes PID information into the LockFile file %s.lock.

System catalog mapping file

I/O event

RelationMapRead

Reads the mapping file between system catalogs and storage locations.

System catalog mapping file

I/O event

RelationMapSync

Flushes the mapping file between system catalogs and storage locations to a disk.

System catalog mapping file

I/O event

RelationMapWrite

Writes the mapping file between system catalogs and storage locations.

Streaming replication

I/O event

ReplicationSlotRead

Reads a stream replication slot file during a restart.

Streaming replication

I/O event

ReplicationSlotRestoreSync

Flushes a stream replication slot file to a disk.

Streaming replication

I/O event

ReplicationSlotSync

Flushes a temporary stream replication slot file to a disk during checkpoint execution.

Streaming replication

I/O event

ReplicationSlotWrite

Writes a temporary stream replication slot file during checkpoint execution.

Streaming replication

LWLock event

ReplicationSlotAllocationLock

Used to allocate a replication slot.

Streaming replication

LWLock event

ReplicationSlotControlLock

Used to detect replication slot name conflicts and identify replication slots that can be allocated.

Clog

I/O event

SLRUFlushSync

Flushes the pg_clog file to a disk, mainly during checkpoint execution and database shutdown.

Clog

I/O event

SLRURead

Reads the pg_clog file.

Clog

I/O event

SLRUSync

Writes dirty pages into the pg_clog file, and flushes the file to a disk, mainly during checkpoint execution and database shutdown.

Clog

I/O event

SLRUWrite

Writes the pg_clog file.

Clog

LWLock event

CLogControlLock

Used to prevent concurrent access to or concurrent modification on the Clog control data structure.

Clog

LWLock event

MultiXactOffsetControlLock

Used to prevent concurrent read/write or concurrent write/write on pg_multixact/offset.

Clog

LWLock event

MultiXactMemberControlLock

Used to prevent concurrent read/write or concurrent write/write on pg_multixact/members.

timelinehistory

I/O event

TimelineHistoryRead

Reads the timelinehistory file, during database startup.

timelinehistory

I/O event

TimelineHistorySync

Flushes the timelinehistory file to a disk, during database startup.

timelinehistory

I/O event

TimelineHistoryWrite

Writes the timelinehistory file.

pg_twophase

I/O event

TwophaseFileRead

Reads the pg_twophase file, mainly during two-phase transaction commit and restoration.

pg_twophase

I/O event

TwophaseFileSync

Flushes the pg_twophase file to a disk, mainly during two-phase transaction commit and restoration.

pg_twophase

I/O event

TwophaseFileWrite

Writes the pg_twophase file, mainly during two-phase transaction commit and restoration.

Cluster

LWLock event

NodeTableLock

Used to protect a shared structure that stores CNs and DNs information.

Concurrency

LWLock event

PoolerLock

Used to prevent two threads from simultaneously obtaining the same connection from a connection pool.

Concurrency

LWLock event

AsyncCtlLock

Used to prevent concurrent access to or concurrent modification on the sharing notification status.

Concurrency

LWLock event

AsyncQueueLock

Used to prevent concurrent access to or concurrent modification on the sharing notification queue.

Double write

I/O event

DoubleWriteFileWrite

Writes pages to a doublewrite file during the doublewrite process.

Double write

I/O event

DoubleWriteFileRead

Reads a doublewrite file during restoration for a halfwrite.

Statistics file

LWLock event

FileStatLock

Used to protect a data structure that stores statistics file information.

Master-slave replication

LWLock event

SyncRepLock

Used to protect Xlog synchronization information during primary/standby replication.

Master-slave replication

LWLock event

ReplicationSlotAllocationLock

Used to add a lock when a primary server allocates stream replication slots during primary/standby replication.

Master-slave replication

LWLock event

ReplicationSlotControlLock

Used to prevent concurrent update of stream replication slot status during primary/standby replication.

Master-slave replication

LWLock event

LsnXlogChkFileLock

Used to serially update the Xlog flush points for primary and standby servers recorded in a specific structure.

Master-slave replication

LWLock event

DataSyncRepLock

Used to protect data page synchronization information during primary/standby replication.

Column store

LWLock event

CStoreColspaceCacheLock

Used to add a lock when CU space is allocated for a column-store table.

Column store

LWLock event

CacheSlotMappingLock

Used to protect global CU cache information.

Column store

LWLock event

CStoreCUCacheSweepLock

Used to add a lock when CU caches used by a column-store table are cyclically washed out.

Column store

Lock event

cstore_freespace

Adds a lock to idle column-store space.

Speed up the cluster

LWLock event

dummyServerInfoCacheLock

Used to protect a global hash table where the information about cluster connections is cached. (Due to specification changes, the current version no longer supports the current feature. Do not use this feature.)

Speed up the cluster

LWLock event

RPNumberLock

Used by a DN on a cluster to count the number of threads for a task where plans are being executed. (Due to specification changes, the current version no longer supports the current feature. Do not use this feature.)

Speed up the cluster

LWLock event

ClusterRPLock

Used by a cluster to control concurrent access on cluster load data maintained in a CCN of the cluster. (Due to specification changes, the current version no longer supports the current feature. Do not use this feature.)

Speed up the cluster

LWLock event

SearchServerLibLock

Used to add a lock on the file read operation when a specific dynamic library is initially loaded in GPU-accelerated scenarios.

Resource manage

LWLock event

ResourcePoolHashLock

Used to prevent concurrent access to or concurrent modification on a resource pool table, a hash table.

Resource manage

LWLock event

WorkloadStatHashLock

Used to prevent concurrent access to or concurrent modification on a hash table that contains SQL requests from the CN side.

Resource manage

LWLock event

WorkloadIoStatHashLock

Used to prevent concurrent access to or concurrent modification on a hash table that contains I/O information of the current DN.

Resource manage

LWLock event

WorkloadCGroupHashLock

Used to prevent concurrent access to or concurrent modification on a hash table that contains Cgroup information.

Resource manage

LWLock event

WorkloadUserInfoLock

Used to prevent concurrent access to or concurrent modification on a hash table that contains user information about load management. (The current feature is a lab feature. Contact Huawei engineers for technical support before using it.)

Resource manage

LWLock event

WorkloadRecordLock

Used to prevent concurrent access to or concurrent modification on a hash table that contains requests received by CNs during adaptive memory management.

Resource manage

LWLock event

WorkloadIOUtilLock

Used to protect a structure that records iostat and CPU load information.

Resource manage

LWLock event

WorkloadNodeGroupLock

Used to prevent concurrent access to or concurrent modification on a hash table that contains node group information in memory.

OBS

LWLock event

OBSGetPathLock

Used to prevent concurrent read/write or concurrent write/write on an OBS path.

OBS

LWLock event

OBSRuntimeLock

Used to obtain environment variables, for example, GASSHOME.

LLVM

LWLock event

LLVMDumpIRLock

Used to export the assembly language for dynamically generating functions. The current feature is a lab feature. Contact Huawei technical support before using it.

LLVM

LWLock event

LLVMParseIRLock

Used to compile and parse a finished IR function from the IR file at the start position of a query. The current feature is a lab feature. Contact Huawei technical support before using it.

MPP is compatible with ORACLE scheduled task function

LWLock event

JobShmemLock

Used to protect global variables in the shared memory that is periodically read during a scheduled task where MPP is compatible with Oracle.

Operator history information statistics

LWLock event

OperatorRealTLock

Used to prevent concurrent access to or concurrent modification on a global structure that contains real-time data at the operator level.

Operator history information statistics

LWLock event

OperatorHistLock

Used to prevent concurrent access to or concurrent modification on a global structure that contains historical data at the operator level.

query history information statistics

LWLock event

SessionRealTLock

Used to prevent concurrent access to or concurrent modification on a global structure that contains real-time data at the query level.

query history information statistics

LWLock event

SessionHistLock

Used to prevent concurrent access to or concurrent modification on a global structure that contains historical data at the query level.

query history information statistics

LWLock event

WaitCountHashLock

Used to protect a shared structure in user statement counting scenarios.

barrier

LWLock event

BarrierLock

Used to ensure that only one thread is creating a barrier at a time.

CSN

LWLock event

CSNBufMappingLock

Used to protect CSN pages.

instrumentation

LWLock event

UniqueSQLMappingLock

Used to protect a unique SQL hash table.

instrumentation

LWLock event

InstrUserLock

Used to protect a user hash table.

instrumentation

LWLock event

PercentileLock

Used to protect global percentile buffers.

instrumentation

LWLock event

InstrWorkloadLock

Used to protect a workload transaction hash table.

Pgproc

LWLock event

Pgproc lwlock

Used to protect the PGPROC structure.

Async buffer

LWLock event

AsyncCtlLock

Used to protect asynchronization buffers.

MultiXact

LWLock event

MultiXactOffset lwlock

Used to protect SLRU buffers of a MultiXact offset.

MultiXact

LWLock event

MultiXactMemberlwlock

Used to protect SLRU buffer of a MultiXact member.

CBM

LWLock event

CBMParseXlogLock

Used to protect the lock used when CBM parses Xlogs.

BadBlock

LWLock event

BadBlockStatHashLock

Used to protect the hash table global_bad_block_stat.

Page

Lock event

page

Adds a lock to a table page.

Tuple

Lock event

tuple

Adds a lock to a tuple on a page.

object

Lock event

object

Adds a lock to an object.

user

Lock event

userlock

Adds a lock to a user.

advisor

Lock event

advisory

Adds an advisory lock.

ODBC

LWLock event

ExtensionConnectorLibLock

Adds a lock when a specific dynamic library is loaded or uninstalled in ODBC connection initialization scenarios.