Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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;
  • return hasSelected

...