Updated on 2024-06-03 GMT+08:00

WAIT_EVENT_INFO

WAIT_EVENT_INFO displays the details about wait events, as described in Table 1 and Table 2.

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

Protects the primary index table, a hash table, in shared memory.

Shared buffer

LWLock event

BufMappingLock

Protects operations on a shared-buffer mapping table.

Lmgr

LWLock event

LockMgrLock

Protects the information about a common lock structure.

LWLock

Wait event

acquire lwlock

Waiting for a lightweight lock.

I/O

Wait event

wait io

Waiting for I/O completion.

COMM

Wait event

wait cmd

Waiting for reading network communication packets to complete.

COMM

Wait event

wait pooler get conn

Waiting for pooler to obtain connections.

COMM

Wait event

wait pooler abort conn

Waiting for pooler to terminate connections.

COMM

Wait event

wait pooler clean conn

Waiting for pooler to clear connections.

COMM

Wait event

get conn

Obtaining the connection to other nodes.

COMM

Wait event

set cmd

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

COMM

Wait event

cancel query

Canceling the SQL statement that is being executed through the connection.

COMM

Wait event

stop query

Stopping the query that is being executed through the connection.

COMM

Wait event

wait node

Waiting for receiving data through the connection to an instance.

COMM

Wait event

flush data

Waiting 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

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

Stream

Wait event

wait stream group destroy

Waits for destroying the stream node group when the stream plan ends.

Transaction

Wait event

wait transaction sync

Waiting for transaction synchronization.

Transaction

Wait event

wait data sync

Waiting for the completion of data page synchronization to the standby instance.

Transaction

Wait event

wait data sync queue

Waiting for putting the data pages that are in the row-store into the synchronization queue.

Transaction

LWLock event

OidGenLock

Prevents different threads from generating the same OID.

Transaction

LWLock event

XidGenLock

Prevents two transactions from obtaining the same transaction ID.

Transaction

LWLock event

ProcArrayLock

Prevents 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 subtransaction 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 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

Protects 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

Waiting for the completion of WAL of synchronization from the specified LSN to the standby instance.

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 name 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 streaming replication slot file This operation is performed during a restart.

Streaming replication

I/O event

ReplicationSlotRestoreSync

Flushes a streaming replication slot file to a disk.

Streaming replication

I/O event

ReplicationSlotSync

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

Streaming replication

I/O event

ReplicationSlotWrite

Writes a temporary streaming 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 streaming replication slots during primary/standby replication.

Master-slave replication

LWLock event

ReplicationSlotControlLock

Used to prevent concurrent update of streaming 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.

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.

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.

LLVM

LWLock event

LLVMParseIRLock

Used to compile and parse a finished IR function from the IR file at the start position of a query.

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.

COMM

Wait event

Accept client conn - Total Time

(After the GaussDB receives a connection request from a client) Total duration from the time when a connection is established to the time when the connection is successful.

COMM

Wait event

Accept client conn - ThrdPool - add epoll

(After the GaussDB receives a connection request from a client) Duration from the time when a connection is established to the time when the thread pool adds the session handle to the epoll in thread pool mode.

COMM

Wait event

Accept client conn - ThrdPool - wait worker

(After the GaussDB receives a connection request from a client) Duration from the time when the thread pool adds the session handle to the epoll to the time when the working thread pool starts to work in thread pool mode.

COMM

Wait event

Accept client conn - ThrdPool - init session

(After the GaussDB receives a connection request from a client) Duration from the time when the working thread pool starts to work to the time the session initialization ends in thread pool mode.

COMM

Wait event

Accept client conn - Worker - init proc

(After the GaussDB receives a connection request from a client) Duration from the time when a connection is established to the time when the thread initialization ends in non-thread pool mode.

COMM

Wait event

Accept client conn - Worker - init session

(After the GaussDB receives a connection request from a client) Duration from the time when the thread initialization ends to the time when the session initialization ends in non-thread pool mode.