Background threads

2023-12-25 08:49:41  Updated

The following table describes some background threads of OBServer nodes and their features. In most cases, you do not need to pay attention to how these threads are implemented.

Note

Background threads are optimized along with the iteration of OBServer node versions. During the iteration process, some background threads may be eliminated or merged, and some new ones may be introduced.

Thread name Level Module Thread quantity Description
FrzInfoDet Tenant Transaction 2 Periodically checks for new freeze_info.
LockWaitMgr Tenant Transaction 1 Periodically checks whether the lock wait timeout period elapses and wakes up lock-wait events.
TenantWeakRe Tenant Transaction 1 Generates read timestamps for a tenant-level standby server.
TransService Tenant Transaction 1 Handles a number of asynchronous backend tasks in the transaction module, such as the task for pushing log stream checkpoints.
TransTimeWhe Tenant Transaction max(cpu_num/24, 2) Handles scheduled tasks in the transaction two-phase commit process.
TsMgr Process Transaction 1 Handles backend Global Timestamp Service (GTS) tasks for deleting useless tenants, refreshing GTS of each tenant, and other purposes.
TSWorker Process Transaction 1 Handles the results returned over remote GTS access and calls back transactions.
TxLoopWorker Tenant Transaction 1 Handles backend scheduled tasks in the transaction module.
ArbSer Process System 1 Used by the arbitration server to periodically load parameters from the configuration file.
Blacklist Process System 2 Detects network connection with the destination server.
ConfigMgr Process System 1 Refreshes parameters.
L0_G0 Tenant System 2 + min_cpu × cpu_quota_concurrency Handles most of the tenant requests.
L2_G0 Tenant System 1 Handles L2 requests.
L3_G0 Tenant System 1 Handles L3 requests.
L4_G0 Tenant System 1 Handles L4 requests.
L5_G0 Tenant System 1 Handles L5 requests.
L6_G0 Tenant System 1 Handles L6 requests.
L7_G0 Tenant System 1 Handles L7 requests.
L8_G0 Tenant System 1 Handles L8 requests.
L9_G0 Tenant System 1 Handles L9 requests.
LuaHandler Process System 1 Handles Lua requests in emergency scenarios to read the internal status of the observer process.
MemDumpTimer Process System 1 Prints memory logs periodically.
MemoryDump Process System 1 Collects memory statistics periodically.
MultiTenant Process System 1 Refreshes CPU utilization for multiple tenants to schedule resources.
OB_PLOG Process System 1 Asynchronously prints diagnostics logs of the observer process.
pnio Process System Controlled by the value of net_thread_count The network I/O thread in the new network framework pkt-nio.
pnlisten Process System 1 Listens to the RPC port and forwards RPC requests to network I/O threads.
SignalHandle Process System 1 Handles signals.
SignalWorker Process System 1 Asynchronously handles signals.
L0_G2 Tenant Election min_cpu (at least 8) Handles election requests.

Contact Us