[ https://issues.apache.org/jira/browse/HBASE-22781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zheng Wang updated HBASE-22781: ------------------------------- Description: {code:java} public void testScanSameTimestamp() throws IOException { // returns only 1 of these 2 even though same timestamp KeyValue [] kvs = new KeyValue[] { create("R1", "cf", "a", 1, KeyValue.Type.Put, "dont-care"), create("R1", "cf", "a", 1, KeyValue.Type.Put, "dont-care"), }; List<KeyValueScanner> scanners = Arrays.asList( new KeyValueScanner[] { new KeyValueScanFixture(CellComparator.getInstance(), kvs) }); Scan scanSpec = new Scan().withStartRow(Bytes.toBytes("R1")); // this only uses maxVersions (default=1) and TimeRange (default=all) try (StoreScanner scan = new StoreScanner(scanSpec, scanInfo, getCols("a"), scanners)) { List<Cell> results = new ArrayList<>(); assertEquals(true, scan.next(results)); assertEquals(1, results.size()); assertEquals(kvs[0], results.get(0)); } } {code} It will not to compare the timestamp of the two cells,because of the 'getCols("a")' limit one column and one version(default). For example,modify the timestamp of the first cell to 2 can also pass. was: {code:java} public void testScanSameTimestamp() throws IOException { // returns only 1 of these 2 even though same timestamp KeyValue [] kvs = new KeyValue[] { create("R1", "cf", "a", 1, KeyValue.Type.Put, "dont-care"), create("R1", "cf", "a", 1, KeyValue.Type.Put, "dont-care"), }; List<KeyValueScanner> scanners = Arrays.asList( new KeyValueScanner[] { new KeyValueScanFixture(CellComparator.getInstance(), kvs) }); Scan scanSpec = new Scan().withStartRow(Bytes.toBytes("R1")); // this only uses maxVersions (default=1) and TimeRange (default=all) try (StoreScanner scan = new StoreScanner(scanSpec, scanInfo, getCols("a"), scanners)) { List<Cell> results = new ArrayList<>(); assertEquals(true, scan.next(results)); assertEquals(1, results.size()); assertEquals(kvs[0], results.get(0)); } } {code} It will not to compare the timestamp of the two cells,because of the 'getCols("a")' limit one column and one version(default). > Not suitable params of StoreScanner in the test case > TestStoreScanner.testScanSameTimestamp > ------------------------------------------------------------------------------------------- > > Key: HBASE-22781 > URL: https://issues.apache.org/jira/browse/HBASE-22781 > Project: HBase > Issue Type: Bug > Components: test > Affects Versions: 2.0.0 > Reporter: Zheng Wang > Priority: Minor > > {code:java} > public void testScanSameTimestamp() throws IOException { > // returns only 1 of these 2 even though same timestamp > KeyValue [] kvs = new KeyValue[] { > create("R1", "cf", "a", 1, KeyValue.Type.Put, "dont-care"), > create("R1", "cf", "a", 1, KeyValue.Type.Put, "dont-care"), > }; > List<KeyValueScanner> scanners = Arrays.asList( > new KeyValueScanner[] { > new KeyValueScanFixture(CellComparator.getInstance(), kvs) > }); > Scan scanSpec = new Scan().withStartRow(Bytes.toBytes("R1")); > // this only uses maxVersions (default=1) and TimeRange (default=all) > try (StoreScanner scan = new StoreScanner(scanSpec, scanInfo, getCols("a"), > scanners)) { > List<Cell> results = new ArrayList<>(); > assertEquals(true, scan.next(results)); > assertEquals(1, results.size()); > assertEquals(kvs[0], results.get(0)); > } > } > {code} > > It will not to compare the timestamp of the two cells,because of the > 'getCols("a")' limit one column and one version(default). > For example,modify the timestamp of the first cell to 2 can also pass. -- This message was sent by Atlassian JIRA (v7.6.14#76016)