[jira] [Commented] (HBASE-6520) MSLab May cause the Bytes.toLong not work correctly for increment
[ https://issues.apache.org/jira/browse/HBASE-6520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13448329#comment-13448329 ] Hudson commented on HBASE-6520: --- Integrated in HBase-0.94-security-on-Hadoop-23 #7 (See [https://builds.apache.org/job/HBase-0.94-security-on-Hadoop-23/7/]) 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 For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-6520) MSLab May cause the Bytes.toLong not work correctly for increment
[ https://issues.apache.org/jira/browse/HBASE-6520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13439505#comment-13439505 ] Hudson commented on HBASE-6520: --- Integrated in HBase-0.94-security #48 (See [https://builds.apache.org/job/HBase-0.94-security/48/]) 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
[jira] [Commented] (HBASE-6520) MSLab May cause the Bytes.toLong not work correctly for increment
[ https://issues.apache.org/jira/browse/HBASE-6520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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
[jira] [Commented] (HBASE-6520) MSLab May cause the Bytes.toLong not work correctly for increment
[ https://issues.apache.org/jira/browse/HBASE-6520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13432020#comment-13432020 ] Lars Hofhansl commented on HBASE-6520: -- Hmm... The OOM failures in the 0.94 must be unrelated (I don't seen how this can use up more memory than before). 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
[jira] [Commented] (HBASE-6520) MSLab May cause the Bytes.toLong not work correctly for increment
[ https://issues.apache.org/jira/browse/HBASE-6520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13430978#comment-13430978 ] Zhihong Ted Yu commented on HBASE-6520: --- Integrated to trunk. Thanks for the patch, ShiXing. 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 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
[jira] [Commented] (HBASE-6520) MSLab May cause the Bytes.toLong not work correctly for increment
[ https://issues.apache.org/jira/browse/HBASE-6520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13430994#comment-13430994 ] Hadoop QA commented on HBASE-6520: -- -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12539801/HBASE-6520-0.94-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 patch. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2533//console This message is automatically generated. 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 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
[jira] [Commented] (HBASE-6520) MSLab May cause the Bytes.toLong not work correctly for increment
[ https://issues.apache.org/jira/browse/HBASE-6520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13431081#comment-13431081 ] Hudson commented on HBASE-6520: --- Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #125 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/125/]) HBASE-6520 MSLab May cause the Bytes.toLong not work correctly for increment (ShiXing) (Revision 1370717) Result = FAILURE tedyu : Files : * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * /hbase/trunk/hbase-server/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 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