Merge pull request #668 from steveyen/scorch
scorch mergeplan explicitly weeds out empty segments
This commit is contained in:
commit
bf833a5eb8
@ -173,6 +173,17 @@ func plan(segmentsIn []Segment, o *MergePlanOptions) (*MergePlan, error) {
|
|||||||
|
|
||||||
rv := &MergePlan{}
|
rv := &MergePlan{}
|
||||||
|
|
||||||
|
var empties []Segment
|
||||||
|
for _, eligible := range eligibles {
|
||||||
|
if eligible.LiveSize() <= 0 {
|
||||||
|
empties = append(empties, eligible)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(empties) > 0 {
|
||||||
|
rv.Tasks = append(rv.Tasks, &MergeTask{Segments: empties})
|
||||||
|
eligibles = removeSegments(eligibles, empties)
|
||||||
|
}
|
||||||
|
|
||||||
// While we’re over budget, keep looping, which might produce
|
// While we’re over budget, keep looping, which might produce
|
||||||
// another MergeTask.
|
// another MergeTask.
|
||||||
for len(eligibles) > budgetNumSegments {
|
for len(eligibles) > budgetNumSegments {
|
||||||
|
Loading…
Reference in New Issue
Block a user