THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- hasSelect = false
- 候选文件列表 Flist=[]
- 倒序遍历文件列表
- 如果 (任务已经足够多:currentTaskNum >= concurrent_compaction_thread)
|| (无需执行顺序合并: isSeq && !enable_seq_space_compaction)
|| (无需执行乱序合并: !isSeq && !enable_unseq_space_compaction)- return hasSelected
- 如果(当前文件大小 > target_tsfile_size || 当前文件正在合并 || 当前文件未关闭),当前文件未关闭)
- 清空 FList,FList;
- continue;
- 将当前文件加入 FList
- 如果 FList 内所有文件总大小大于 target_tsfile_size
- 将 FList 拷贝提交异步任务(空间内合并执行流程), FList=[],++currentTaskNum, hasSelected=true
- 如果 compaction_priority=balance
- break;
- 如果 (任务已经足够多:currentTaskNum >= concurrent_compaction_thread)
- return hasSelected
...