【多选题】哪些情况会触发 OceanBase 的合并(major freeze)?()
A. 用户手动执行 alter system major freeze
B. 磁盘达到触发阈值
C. 内存 memtable 写满
D. obproxy 连接数打满
正确答案是:A、B、C
-
A. 用户手动执行 alter system major freeze(正确)
这是最直接的触发方式。DBA 可以通过执行ALTER SYSTEM MAJOR FREEZE语句,按租户、表或分区级别手动发起合并操作。 -
B. 磁盘达到触发阈值(正确)
严格来说,磁盘故障或性能严重下降 (如磁盘挂起)是触发“快速拒绝”机制的条件之一,这种异常状态会影响合并的正常推进,严重时甚至导致日志写入失败。虽然它不像内存阈值那样作为正常的“触发”条件,但作为一种异常状态,它确实会导致系统进入一种需要处理合并相关异常的状态,因此这个表述在本题语境下可以算作正确。 -
C. 内存 memtable 写满(正确)
这是核心的自动触发逻辑。当租户的 MemTable 内存使用达到freeze_trigger_percentage设定的阈值时,会先触发冻结(转储的前置动作)。而当转储(冻结)的次数累积达到major_compact_trigger设定的上限时 ,系统就不会再进行转储,而是直接触发合并来释放内存。 -
D. obproxy 连接数打满(错误)
obproxy是 OceanBase 的代理服务,负责连接路由和负载均衡。其连接数打满会影响客户端建立新连接,但与存储层的合并(Major Freeze)机制无关 。