生产环境 ,3.1.4-OceanBase CE
线上应用大批量写入数据后,clog盘压力100%,要求业务停止写入后,服务器写入降为0,但读还是非常高,多持续了2个小时.
通过perf抓取,确认当时是 [ARCHIVE] ob_archive_clog_split_engine.cpp:497 耗时高
observer.log:[2023-07-17 18:54:28.334946] INFO [ARCHIVE] ob_archive_clog_split_engine.cpp:497 [74736][2623][Y0-0000000000000000] [lt=12] [dc=0] just skip the checkpoint task(clog_task={epoch_id:1689577757000000, need_update_log_ts:false, round_start_log_id:846964, round_start_ts:-1, checkpoint_ts:1689591261928192, log_submit_ts:1689591265329782, clog_epoch_id:-1, accum_checksum:0, processed_log_count:0, incarnation:1, log_archive_round:1, task_type:2, compressor_type:1, pg_key:{tid:1100611139453793, partition_id:235, part_cnt:0}, clog_pos_list:[]}, last_split_log_id=838559, last_split_log_submit_ts=1689586659537437, last_split_checkpoint_ts=1689586647281591, ret=0)
代码位置:
问题:
1、archive模块 ob_archive_clog_split_engine.cpp,从原理上当时不知在做什么呢?
2、clog回收,或者重放不知是否有详细的资料分享