观察合并的过程可以通过如下语句查询:

    如果合并时间比较长,比如两次合并之间的增量很大,可以通过一下语句查看内部表来查看合并进度:

    字段名称类型NULL描述
    zonevarchar(256)NOzone名称
    svr_ipvarchar(32)NOIP地址
    svr_portbigint(20)NO端口号
    major_versionbigint(20)NO大版本号
    min_versionbigint(20)NO小版本号
    ss_store_countbigint(20)NOSSStore 总数量
    merged_ss_store_countbigint(20)NO合并完成的 SSStore 总数量
    modified_ss_store_countbigint(20)NO修改过的 SSStore 总数量
    macro_block_countbigint(20)NO宏块总数量
    use_old_macro_block_countbigint(20)NO重用的宏块数量
    merge_start_timetimestamp(6)NO合并开始时间
    merge_finish_timetimestamp(6)NO合并结束时间
    merge_processbigint(20)NO合并进度
    rewrite_macro_old_micro_block_countbigint(20)NO重用的微块数量
    rewrite_macro_total_micro_block_countbigint(20)NO写入的微块数量

    除了通过内部表查看合并进度,也可以通过日志查看 Partiton 粒度的合并,每个 Partition 开始和成功合并的记录:

    通过内部表 除了可以查看 progress,也可以查看 Macro Block 级别的进度。Macro Block 为 2 MB 大小,因此比 Partition 级别的粒度更细。在合并中如果遇到单一 Partition 非常大的情况,可以观察这个内部表的 和 这两列,当他们的值在不断变化,表示合并仍然在进行。