HBASE-15410 Utilize the max seek value when all Filters in MUST_PASS_ALL FilterList return SEEK_NEXT_USING_HINT

This commit is contained in:
tedyu 2017-09-07 04:07:09 -07:00 committed by zhangduo
parent 50c9a412fe
commit 47d8549cec
2 changed files with 5 additions and 4 deletions

View File

@ -28,12 +28,13 @@ import java.util.List;
import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellComparatorImpl; import org.apache.hadoop.hbase.CellComparatorImpl;
import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.CellUtil;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hadoop.hbase.KeyValueUtil; import org.apache.hadoop.hbase.KeyValueUtil;
import org.apache.hadoop.hbase.exceptions.DeserializationException; import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos; import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;
import org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException;
/** /**
* Implementation of {@link Filter} that represents an ordered List of Filters * Implementation of {@link Filter} that represents an ordered List of Filters

View File

@ -502,8 +502,8 @@ public class TestFilterList {
// Should take the min if given two hints // Should take the min if given two hints
FilterList filterList = new FilterList(Operator.MUST_PASS_ONE, FilterList filterList = new FilterList(Operator.MUST_PASS_ONE,
Arrays.asList(new Filter [] { filterMinHint, filterMaxHint } )); Arrays.asList(new Filter [] { filterMinHint, filterMaxHint } ));
assertEquals(0, assertEquals(0, CellComparatorImpl.COMPARATOR.compare(filterList.getNextCellHint(null),
CellComparatorImpl.COMPARATOR.compare(filterList.getNextCellHint(null), minKeyValue)); minKeyValue));
// Should have no hint if any filter has no hint // Should have no hint if any filter has no hint
filterList = new FilterList(Operator.MUST_PASS_ONE, filterList = new FilterList(Operator.MUST_PASS_ONE,