You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2012/08/07 16:58:08 UTC

[jira] [Commented] (HBASE-6520) MSLab May cause the Bytes.toLong does not work correctly for increment

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

Hadoop QA commented on HBASE-6520:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12539460/HBASE-6520-trunk-v1.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 3 new or modified tests.

    +1 hadoop2.0.  The patch compiles against the hadoop 2.0 profile.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    -1 javac.  The applied patch generated 5 javac compiler warnings (more than the trunk's current 4 warnings).

    -1 findbugs.  The patch appears to introduce 9 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

     -1 core tests.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.replication.TestReplication
                  org.apache.hadoop.hbase.regionserver.TestSplitLogWorker

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2527//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2527//console

This message is automatically generated.
                
> MSLab May cause the Bytes.toLong does 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
>
>         Attachments: 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