[jira] [Commented] (HBASE-21617) HBase Bytes.putBigDecimal error
[ https://issues.apache.org/jira/browse/HBASE-21617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16754910#comment-16754910 ] Hadoop QA commented on HBASE-21617: --- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 20s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 17s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 39s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 30s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 5m 16s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 45s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 22s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 17s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 39s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 39s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 29s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 5m 17s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 10m 48s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 57s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 20s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 3m 7s{color} | {color:green} hbase-common in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 11s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 40m 45s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21617 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12956692/HBASE-21617.master.v2.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux fc80a901cc40 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 7dc69b6128 | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15767/testReport/ | | Max. process+thread count | 325 (vs. ulimit of 1) | | modules | C: hbase-common U: hbase-common | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/15767/console | | Powered by | Apache Yetus 0.8.0 http://yetus.apache.org | This message was automatically generated. > HBase
[jira] [Commented] (HBASE-21617) HBase Bytes.putBigDecimal error
[ https://issues.apache.org/jira/browse/HBASE-21617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16754807#comment-16754807 ] apcahephoenix commented on HBASE-21617: --- The patch name has been modified as required. [~openinx] {color:red}why do you put the max_value & min_value to the head/tail of the byte array ?{color} *Reply*: Just to test whether the offset parameter of the method is correct, only use one obvious value at both ends for easy viewing. > HBase Bytes.putBigDecimal error > --- > > Key: HBASE-21617 > URL: https://issues.apache.org/jira/browse/HBASE-21617 > Project: HBase > Issue Type: Bug > Components: util >Affects Versions: 2.1.0, 2.0.0, 2.1.1 > Environment: JDK 1.8 >Reporter: apcahephoenix >Priority: Major > Attachments: Bytes_HBASE_21617.patch, TestBytes_HBASE_21617.patch > > > *hbase-common/* > *org.apache.hadoop.hbase.util.Bytes:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > if (bytes == null){ > return offset; > } > byte[] valueBytes = val.unscaledValue().toByteArray(); > byte[] result = new byte[valueBytes.length + SIZEOF_INT]; > offset = putInt(result, offset, val.scale()); > {color:#d04437}return putBytes(result, offset, valueBytes, 0, > valueBytes.length); // this one, bytes is not used{color} > } > *Test:* > byte[] bytes = new byte[64]; > BigDecimal bigDecimal = new BigDecimal("100.10"); > Bytes.putBigDecimal(bytes, 4, bigDecimal); > System.out.println(Arrays.toString(bytes)); // invalid > *Suggest:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > byte[] valueBytes = toBytes(val); > return putBytes(bytes, offset, valueBytes, 0, valueBytes.length); > } -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21617) HBase Bytes.putBigDecimal error
[ https://issues.apache.org/jira/browse/HBASE-21617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16742723#comment-16742723 ] Hadoop QA commented on HBASE-21617: --- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 20s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 0s{color} | {color:green} Patch does not have any anti-patterns. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 6s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 40s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 28s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 5m 20s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 46s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 21s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 25s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 38s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 38s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 26s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedjars {color} | {color:green} 5m 21s{color} | {color:green} patch has no errors when building our shaded downstream artifacts. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 11m 49s{color} | {color:green} Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 56s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 20s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red} 2m 54s{color} | {color:red} hbase-common in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 11s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 41m 34s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hbase.util.TestBytes | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:b002b0b | | JIRA Issue | HBASE-21617 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12952507/TestBytes_HBASE_21617.patch | | Optional Tests | dupname asflicense javac javadoc unit findbugs shadedjars hadoopcheck hbaseanti checkstyle compile | | uname | Linux f88aefa60d95 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 0fd4243fcd | | maven | version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) | | Default Java | 1.8.0_181 | | findbugs | v3.1.0-RC3 | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/15576/artifact/patchprocess/patch-unit-hbase-common.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/15576/testReport/ | | Max. process+thread count | 112 (vs. ulimit of 1) | | modules | C: hbase-common U: hbase-common | | Console output |
[jira] [Commented] (HBASE-21617) HBase Bytes.putBigDecimal error
[ https://issues.apache.org/jira/browse/HBASE-21617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16742696#comment-16742696 ] Zheng Hu commented on HBASE-21617: -- [~apcahephoenix], thanks for your patch. Looks good to me for the fix. while some question about the UT. why do you put the max_value & min_value to the head/tail of the byte array ? {code} +bytes[0] = Byte.MAX_VALUE; +bytes[bytes.length - 1] = Byte.MIN_VALUE; +int offset = Bytes.putBigDecimal(bytes, 1, decimal); +Assert.assertEquals(bytes.length - 1, offset) {code} btw, please reopen the review board again. and the patch name can be renamed to HBASE-21617.master.v2.patch , which will be used for hadoop QA. Thanks. > HBase Bytes.putBigDecimal error > --- > > Key: HBASE-21617 > URL: https://issues.apache.org/jira/browse/HBASE-21617 > Project: HBase > Issue Type: Bug > Components: util >Affects Versions: 2.1.0, 2.0.0, 2.1.1 > Environment: JDK 1.8 >Reporter: apcahephoenix >Priority: Major > Attachments: Bytes_HBASE_21617.patch, TestBytes_HBASE_21617.patch > > > *hbase-common/* > *org.apache.hadoop.hbase.util.Bytes:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > if (bytes == null){ > return offset; > } > byte[] valueBytes = val.unscaledValue().toByteArray(); > byte[] result = new byte[valueBytes.length + SIZEOF_INT]; > offset = putInt(result, offset, val.scale()); > {color:#d04437}return putBytes(result, offset, valueBytes, 0, > valueBytes.length); // this one, bytes is not used{color} > } > *Test:* > byte[] bytes = new byte[64]; > BigDecimal bigDecimal = new BigDecimal("100.10"); > Bytes.putBigDecimal(bytes, 4, bigDecimal); > System.out.println(Arrays.toString(bytes)); // invalid > *Suggest:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > byte[] valueBytes = toBytes(val); > return putBytes(bytes, offset, valueBytes, 0, valueBytes.length); > } -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21617) HBase Bytes.putBigDecimal error
[ https://issues.apache.org/jira/browse/HBASE-21617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16726538#comment-16726538 ] Sakthi commented on HBASE-21617: Have left a minor nit at the review board [~apcahephoenix] . > HBase Bytes.putBigDecimal error > --- > > Key: HBASE-21617 > URL: https://issues.apache.org/jira/browse/HBASE-21617 > Project: HBase > Issue Type: Bug > Components: util >Affects Versions: 2.1.0, 2.0.0, 2.1.1 > Environment: JDK 1.8 >Reporter: apcahephoenix >Priority: Major > Attachments: Bytes_HBASE_21617.patch, TestBytes_HBASE_21617.patch > > > *hbase-common/* > *org.apache.hadoop.hbase.util.Bytes:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > if (bytes == null){ > return offset; > } > byte[] valueBytes = val.unscaledValue().toByteArray(); > byte[] result = new byte[valueBytes.length + SIZEOF_INT]; > offset = putInt(result, offset, val.scale()); > {color:#d04437}return putBytes(result, offset, valueBytes, 0, > valueBytes.length); // this one, bytes is not used{color} > } > *Test:* > byte[] bytes = new byte[64]; > BigDecimal bigDecimal = new BigDecimal("100.10"); > Bytes.putBigDecimal(bytes, 4, bigDecimal); > System.out.println(Arrays.toString(bytes)); // invalid > *Suggest:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > byte[] valueBytes = toBytes(val); > return putBytes(bytes, offset, valueBytes, 0, valueBytes.length); > } -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21617) HBase Bytes.putBigDecimal error
[ https://issues.apache.org/jira/browse/HBASE-21617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725720#comment-16725720 ] apcahephoenix commented on HBASE-21617: --- Thanks Zheng Hu, reviews link is [https://reviews.apache.org/r/69611/][^Bytes_HBASE_21617.patch] > HBase Bytes.putBigDecimal error > --- > > Key: HBASE-21617 > URL: https://issues.apache.org/jira/browse/HBASE-21617 > Project: HBase > Issue Type: Bug > Components: util >Affects Versions: 2.1.0, 2.0.0, 2.1.1 > Environment: JDK 1.8 >Reporter: apcahephoenix >Priority: Major > Attachments: Bytes.java, Bytes_HBASE_21617.patch, TestBytes.java, > TestBytes_HBASE_21617.patch > > > *hbase-common/* > *org.apache.hadoop.hbase.util.Bytes:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > if (bytes == null){ > return offset; > } > byte[] valueBytes = val.unscaledValue().toByteArray(); > byte[] result = new byte[valueBytes.length + SIZEOF_INT]; > offset = putInt(result, offset, val.scale()); > {color:#d04437}return putBytes(result, offset, valueBytes, 0, > valueBytes.length); // this one, bytes is not used{color} > } > *Test:* > byte[] bytes = new byte[64]; > BigDecimal bigDecimal = new BigDecimal("100.10"); > Bytes.putBigDecimal(bytes, 4, bigDecimal); > System.out.println(Arrays.toString(bytes)); // invalid > *Suggest:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > byte[] valueBytes = toBytes(val); > return putBytes(bytes, offset, valueBytes, 0, valueBytes.length); > } -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21617) HBase Bytes.putBigDecimal error
[ https://issues.apache.org/jira/browse/HBASE-21617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725552#comment-16725552 ] Zheng Hu commented on HBASE-21617: -- You can try to put this patch into https://reviews.apache.org , so others can help to review. > HBase Bytes.putBigDecimal error > --- > > Key: HBASE-21617 > URL: https://issues.apache.org/jira/browse/HBASE-21617 > Project: HBase > Issue Type: Bug > Components: util >Affects Versions: 2.1.0, 2.0.0, 2.1.1 > Environment: JDK 1.8 >Reporter: apcahephoenix >Priority: Major > Attachments: Bytes.java, TestBytes.java > > > *hbase-common/* > *org.apache.hadoop.hbase.util.Bytes:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > if (bytes == null){ > return offset; > } > byte[] valueBytes = val.unscaledValue().toByteArray(); > byte[] result = new byte[valueBytes.length + SIZEOF_INT]; > offset = putInt(result, offset, val.scale()); > {color:#d04437}return putBytes(result, offset, valueBytes, 0, > valueBytes.length); // this one, bytes is not used{color} > } > *Test:* > byte[] bytes = new byte[64]; > BigDecimal bigDecimal = new BigDecimal("100.10"); > Bytes.putBigDecimal(bytes, 4, bigDecimal); > System.out.println(Arrays.toString(bytes)); // invalid > *Suggest:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > byte[] valueBytes = toBytes(val); > return putBytes(bytes, offset, valueBytes, 0, valueBytes.length); > } -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21617) HBase Bytes.putBigDecimal error
[ https://issues.apache.org/jira/browse/HBASE-21617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725526#comment-16725526 ] apcahephoenix commented on HBASE-21617: --- I don't know how to with a UT, please let me know if you have any requirements. My problems and modifications have been explained in the description, now I will add the modified files and unit test files. {color:#d04437}*src files in the hbase-common/*{color} *Bytes.putBigDecimal()* *TestBytes.testPutBigDecimal()* > HBase Bytes.putBigDecimal error > --- > > Key: HBASE-21617 > URL: https://issues.apache.org/jira/browse/HBASE-21617 > Project: HBase > Issue Type: Bug > Components: util >Affects Versions: 2.1.0, 2.0.0, 2.1.1 > Environment: JDK 1.8 >Reporter: apcahephoenix >Priority: Major > Attachments: Bytes.java, TestBytes.java > > > *hbase-common/* > *org.apache.hadoop.hbase.util.Bytes:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > if (bytes == null){ > return offset; > } > byte[] valueBytes = val.unscaledValue().toByteArray(); > byte[] result = new byte[valueBytes.length + SIZEOF_INT]; > offset = putInt(result, offset, val.scale()); > {color:#d04437}return putBytes(result, offset, valueBytes, 0, > valueBytes.length); // this one, bytes is not used{color} > } > *Test:* > byte[] bytes = new byte[64]; > BigDecimal bigDecimal = new BigDecimal("100.10"); > Bytes.putBigDecimal(bytes, 4, bigDecimal); > System.out.println(Arrays.toString(bytes)); // invalid > *Suggest:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > byte[] valueBytes = toBytes(val); > return putBytes(bytes, offset, valueBytes, 0, valueBytes.length); > } -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-21617) HBase Bytes.putBigDecimal error
[ https://issues.apache.org/jira/browse/HBASE-21617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16724645#comment-16724645 ] Zheng Hu commented on HBASE-21617: -- Oh, seems the putBigDecimal put the bytes of big decimal into another newly created bytes I think the useless putBigDecimal method can be removed now. Or fix this bug with a UT. > HBase Bytes.putBigDecimal error > --- > > Key: HBASE-21617 > URL: https://issues.apache.org/jira/browse/HBASE-21617 > Project: HBase > Issue Type: Bug > Components: util >Affects Versions: 2.1.0, 2.0.0, 2.1.1 > Environment: JDK 1.8 >Reporter: apcahephoenix >Priority: Major > > *hbase-common/* > *org.apache.hadoop.hbase.util.Bytes:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > if (bytes == null){ > return offset; > } > byte[] valueBytes = val.unscaledValue().toByteArray(); > byte[] result = new byte[valueBytes.length + SIZEOF_INT]; > offset = putInt(result, offset, val.scale()); > {color:#d04437}return putBytes(result, offset, valueBytes, 0, > valueBytes.length); // this one, bytes is not used{color} > } > *Test:* > byte[] bytes = new byte[64]; > BigDecimal bigDecimal = new BigDecimal("100.10"); > Bytes.putBigDecimal(bytes, 4, bigDecimal); > System.out.println(Arrays.toString(bytes)); // invalid > *Suggest:* > public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) { > byte[] valueBytes = toBytes(val); > return putBytes(bytes, offset, valueBytes, 0, valueBytes.length); > } -- This message was sent by Atlassian JIRA (v7.6.3#76005)