THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- hasSelected = false
- 如果 currentTaskNum >= compaction_concurrent_thread
|| !enable_cross_space_compaction- return hasSelected;
- 候选乱序文件 UF = []
- 候选顺序文件 SF = []
- hasSelected = false
- for 乱序文件 u in 乱序文件链表 U
- 临时选中顺序文件 TmpSF = []
- for 顺序文件 s in 顺序文件链表 S
- if isOverlap(u, s)
- TmpSF.add(s)
- if isOverlap(u, s)
- if not (u 未关闭 || u 正在合并 || s in TmpSF 未关闭 || s in TmpSF 正在合并)
- UF.add(u); SF.addAll(TmpSF);
- if UF.size() < compaction_cross_space_max_select_unseq_file_num
- continue
- if UF.size()>0
- 将 UF 和 SF 提交异步任务(跨空间合并执行流程), UF=[],SF=[], ++currentTaskNum, hasSelected=true
- 如果 compaction_priority=balance, break;
- return hasSelected
合并执行任务
空间内合并执行流程
...