Purpose
You can use this statement to initiate a compaction in the storage layer.
Note
This statement can be executed only in the sys tenant.
Syntax
alter_system_merge_stmt:
ALTER SYSTEM merge_action;
merge_action:
MAJOR FREEZE
| MINOR FREEZE
[tenant_list | replica ] [server_list] [zone_name]
| {SUSPEND | RESUME} MERGE
[zone_name]
| CLEAR MERGE ERROR
tenant_list:
TENANT [=] (tenant_name_list)
tenant_name_list:
tenant_name [, tenant_name ...]
replica:
PARTITION_ID [=] 'partition_id%partition_count@table_id'
server_list:
SERVER [=] (ip_port_list)
ip_port_list:
'ip:port' [, 'ip:port'...]
zone_name:
ZONE [=] 'zone'
Parameters
| Parameter | Description |
|---|---|
| MAJOR FREEZE | Initiates a major compaction. |
| MINOR FREEZE | Initiates a minor compaction. |
| {SUSPEND | RESUME} MERGE | Suspends or resumes the major compaction. |
| CLEAR MERGE ERROR | Removes major compaction error tags. |
| tenant_name | The tenant on which a minor compaction is performed. |
| PARTITION_ID | Specifies a replica for minor compaction. |
| TABLE_ID | Specifies a table for minor compaction. |
| SERVER | Specifies a server for minor compaction. |
| zone_name | Specifies a zone for compaction. |
Examples
Initiate a major compaction.
obclient> ALTER SYSTEM MAJOR FREEZE; Query OK, 0 rows affectedPerform a minor compaction for the partition specified by
PARTITION_ID.obclient> ALTER SYSTEM MINOR FREEZE PARTITION_ID = '0%0@1100611139453887'; Query OK, 0 rows affected