Fix error in TieredMergePolicy (#1028)

Fix error in comparing between bytes of candidates and bytes of max merge.
It's wrong to use candidateSize rather than currentCandidateBytes comparing with maxMergeBytes.
This commit is contained in:
hcqs33 2022-07-19 15:21:09 +08:00 committed by GitHub
parent 781edf442b
commit 9f80fea502
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 1 deletions

View File

@ -170,6 +170,8 @@ Bug Fixes
* LUCENE-10623: Error implementation of docValueCount for SortingSortedSetDocValues (Lu Xugang)
* GITHUB#1028: Fix error in TieredMergePolicy (Lin Jian)
Other
---------------------

View File

@ -878,7 +878,7 @@ public class TieredMergePolicy extends MergePolicy {
// segments or that create a segment close to the
// maximum allowed segment sized are permitted
if (candidateSize > 1
&& (forceMergeRunning == false || candidateSize > 0.7 * maxMergeBytes)) {
&& (forceMergeRunning == false || currentCandidateBytes > 0.7 * maxMergeBytes)) {
final OneMerge merge = new OneMerge(candidate);
if (verbose(mergeContext)) {
message("add merge=" + segString(mergeContext, merge.segments), mergeContext);