hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chia-Ping Tsai (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17859) ByteBufferUtils#compareTo is wrong
Date Fri, 31 Mar 2017 10:30:42 GMT

    [ https://issues.apache.org/jira/browse/HBASE-17859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15950658#comment-15950658
] 

Chia-Ping Tsai commented on HBASE-17859:
----------------------------------------

bq. Add a unit test to prevent regression ?
I will add tests in next patch.

bq. So this will lead to issues when we have Bytebuffer cell and normal KV?
yes, it makes the wrong result if we don't use the UNSAFE.

> ByteBufferUtils#compareTo is wrong
> ----------------------------------
>
>                 Key: HBASE-17859
>                 URL: https://issues.apache.org/jira/browse/HBASE-17859
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>             Fix For: 2.0.0
>
>         Attachments: HBASE-17859.v0.patch
>
>
> buf2.get( i ) & 0xFF; -> buf2.get(j) & 0xFF;
> {noformat}
>   public static int compareTo(byte [] buf1, int o1, int l1, ByteBuffer buf2, int o2,
int l2) {
>    // ....
>     int end1 = o1 + l1;
>     int end2 = o2 + l2;
>     for (int i = o1, j = o2; i < end1 && j < end2; i++, j++) {
>       int a = buf1[i] & 0xFF;
>       int b = buf2.get(i) & 0xFF;
>       if (a != b) {
>         return a - b;
>       }
>     }
>     return l1 - l2;
>   }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message