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

Lars Hofhansl updated HBASE-6520:
---------------------------------

       Resolution: Fixed
    Fix Version/s: 0.94.2
           Status: Resolved  (was: Patch Available)

Committed to 0.94 as well. Thanks for the patch!
                
> MSLab May cause the Bytes.toLong not work correctly for increment
> -----------------------------------------------------------------
>
>                 Key: HBASE-6520
>                 URL: https://issues.apache.org/jira/browse/HBASE-6520
>             Project: HBase
>          Issue Type: Bug
>            Reporter: ShiXing
>            Assignee: ShiXing
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: HBASE-6520-0.94-v1.patch, HBASE-6520-trunk-v1.patch
>
>
> When use MemStoreLAB, the KeyValues will share the byte array allocated by 
> the MemStoreLAB, all the KeyValues' "bytes" attributes are the same byte 
> array. When use the functions such as Bytes.toLong(byte[] bytes, int offset):
> {code}
>   public static long toLong(byte[] bytes, int offset) {
>     return toLong(bytes, offset, SIZEOF_LONG);
>   }
>   public static long toLong(byte[] bytes, int offset, final int length) {
>     if (length != SIZEOF_LONG || offset + length > bytes.length) {
>       throw explainWrongLengthOrOffset(bytes, offset, length, SIZEOF_LONG);
>     }
>     long l = 0;
>     for(int i = offset; i < offset + length; i++) {
>       l <<= 8;
>       l ^= bytes[i] & 0xFF;
>     }
>     return l;
>   }
> {code}
> If we do not put a long value to the KeyValue, and read it as a long value in 
> HRegion.increment(),the check 
> {code}
> offset + length > bytes.length
> {code}
> will take no effects, because the bytes.length is not equal to 
> keyLength+valueLength, indeed it is MemStoreLAB chunkSize which is default 
> 2048 * 1024.
> I will paste the patch later.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to