Search in sources :

Example 1 with TestRowDataSearchWithPrefix

use of org.apache.hadoop.hbase.codec.prefixtree.row.data.TestRowDataSearchWithPrefix in project hbase by apache.

the class TestPrefixTreeSearcher method testSeekWithPrefix.

@Test
public void testSeekWithPrefix() throws IOException {
    if (!(rows instanceof TestRowDataSearchWithPrefix)) {
        return;
    }
    CellSearcher searcher = null;
    try {
        searcher = DecoderFactory.checkOut(block, true);
        // seek with half bytes of second row key, should return second row
        KeyValue kv = rows.getInputs().get(1);
        KeyValue firstKVOnRow = KeyValueUtil.createFirstOnRow(Arrays.copyOfRange(kv.getRowArray(), kv.getRowOffset(), kv.getRowOffset() + kv.getRowLength() / 2));
        CellScannerPosition position = searcher.positionAtOrAfter(firstKVOnRow);
        Assert.assertEquals(CellScannerPosition.AFTER, position);
        Assert.assertEquals(kv, searcher.current());
    } finally {
        DecoderFactory.checkIn(searcher);
    }
}
Also used : CellSearcher(org.apache.hadoop.hbase.codec.prefixtree.scanner.CellSearcher) KeyValue(org.apache.hadoop.hbase.KeyValue) TestRowDataSearchWithPrefix(org.apache.hadoop.hbase.codec.prefixtree.row.data.TestRowDataSearchWithPrefix) CellScannerPosition(org.apache.hadoop.hbase.codec.prefixtree.scanner.CellScannerPosition) Test(org.junit.Test)

Aggregations

KeyValue (org.apache.hadoop.hbase.KeyValue)1 TestRowDataSearchWithPrefix (org.apache.hadoop.hbase.codec.prefixtree.row.data.TestRowDataSearchWithPrefix)1 CellScannerPosition (org.apache.hadoop.hbase.codec.prefixtree.scanner.CellScannerPosition)1 CellSearcher (org.apache.hadoop.hbase.codec.prefixtree.scanner.CellSearcher)1 Test (org.junit.Test)1