Fix computation of size of last sub-compaction

This commit is contained in:
Zhipeng Jia 2015-12-22 18:37:51 +08:00
parent 8ac7fb8377
commit 728f944f0d

View File

@ -430,12 +430,12 @@ void CompactionJob::GenSubcompactionBoundaries() {
// sizes becomes >= the expected mean size of a subcompaction // sizes becomes >= the expected mean size of a subcompaction
sum = 0; sum = 0;
for (size_t i = 0; i < ranges.size() - 1; i++) { for (size_t i = 0; i < ranges.size() - 1; i++) {
sum += ranges[i].size;
if (subcompactions == 1) { if (subcompactions == 1) {
// If there's only one left to schedule then it goes to the end so no // If there's only one left to schedule then it goes to the end so no
// need to put an end boundary // need to put an end boundary
break; continue;
} }
sum += ranges[i].size;
if (sum >= mean) { if (sum >= mean) {
boundaries_.emplace_back(ExtractUserKey(ranges[i].range.limit)); boundaries_.emplace_back(ExtractUserKey(ranges[i].range.limit));
sizes_.emplace_back(sum); sizes_.emplace_back(sum);