[
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)