[ 
https://issues.apache.org/jira/browse/HBASE-10826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan resolved HBASE-10826.
--------------------------------------------

    Resolution: Invalid

This issue is not applicable here because Prefix Tree would expect the same 
family at this layer.  As we are directly testing the buffer and the seeker 
here it does not make sense to change the family.

> PrefixTree seekTo does not seek to the correct key if the given key is not in 
> the existing kvs
> ----------------------------------------------------------------------------------------------
>
>                 Key: HBASE-10826
>                 URL: https://issues.apache.org/jira/browse/HBASE-10826
>             Project: HBase
>          Issue Type: Bug
>          Components: Scanners
>    Affects Versions: 0.98.0, 0.99.0, 0.96.1.1
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Critical
>              Labels: prefixtree
>         Attachments: TestSeekToBlockWithEncoders.java
>
>
> {code}
>     KeyValue kv1 = new KeyValue(Bytes.toBytes("aaa"), Bytes.toBytes("fam1"), 
> Bytes.toBytes("q1"),
>         Bytes.toBytes("val"));
>     writer.append(kv1);
>     KeyValue kv2 = new KeyValue(Bytes.toBytes("aab"), Bytes.toBytes("fam1"), 
> Bytes.toBytes("q1"),
>         Bytes.toBytes("val"));
>     writer.append(kv2);
>     KeyValue kv4 = new KeyValue(Bytes.toBytes("aac"), Bytes.toBytes("fam1"), 
> Bytes.toBytes("q1"),
>         Bytes.toBytes("val"));
>     writer.append(kv4);
>     KeyValue kv5 = new KeyValue(Bytes.toBytes("aac"), Bytes.toBytes("fam12"), 
> Bytes.toBytes("q2"),
>         Bytes.toBytes("val"));
> writer.append(kv5);
> {code}
> {code}
>     KeyValue toSeek = new KeyValue(Bytes.toBytes("aac"), 
> Bytes.toBytes("fam1"),
>         Bytes.toBytes("q2"), Bytes.toBytes("val"));
>     StoreFileScanner s = reader.getStoreFileScanner(false, false);
>     s.reseek(toSeek);
> {code}
> Now calling s.next() should point to the last KV - kv5.
> Before calling s.next() it would have done a moveToPrevious since there is no 
> KV that exactly matches with the toSeek key.
> Incase of NONE, PREFIX, DIFF, FAST_DIFF things work fine as expected.
> But in case of Prefix Tree, calling reseek() points to a key that is same as 
> the toSeek key which does not exist at all. 
> Will attach a testcase that shows this problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to