[
https://issues.apache.org/jira/browse/HBASE-6520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13431655#comment-13431655
]
Hudson commented on HBASE-6520:
-------------------------------
Integrated in HBase-0.94 #389 (See
[https://builds.apache.org/job/HBase-0.94/389/])
HBASE-6520 MSLab May cause the Bytes.toLong not work correctly for
increment (ShiXing) (Revision 1371045)
Result = FAILURE
larsh :
Files :
*
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
*
/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
> 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