You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Chia-Ping Tsai (JIRA)" <ji...@apache.org> on 2017/04/01 05:46:41 UTC

[jira] [Updated] (HBASE-17859) ByteBufferUtils#compareTo is wrong

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

Chia-Ping Tsai updated HBASE-17859:
-----------------------------------
      Resolution: Fixed
    Hadoop Flags: Reviewed
          Status: Resolved  (was: Patch Available)

Thanks for the review. [~yuzhihong@gmail.com], [~anoop.hbase], [~ram_krish], and [~stack]

> 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
>            Priority: Critical
>             Fix For: 2.0.0
>
>         Attachments: HBASE-17859.v0.patch, HBASE-17859.v1.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)