You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ar...@apache.org on 2020/01/20 07:39:59 UTC
[zookeeper] branch master updated: ZOOKEEPER-3667: Setting
jute.maxbuffer value in hexadecimal throws Exception
This is an automated email from the ASF dual-hosted git repository.
arshad pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 49ad75b ZOOKEEPER-3667: Setting jute.maxbuffer value in hexadecimal throws Exception
49ad75b is described below
commit 49ad75b18bfe26e853050f5add6f10f567399058
Author: Sujith Simon <su...@huawei.com>
AuthorDate: Mon Jan 20 13:09:29 2020 +0530
ZOOKEEPER-3667: Setting jute.maxbuffer value in hexadecimal throws Exception
Author: sujithsimon22 <su...@huawei.com>
Reviewers: Mohammad Arshad <ar...@apache.org>
Closes #1222 from sujithsimon22/3667
---
.../java/org/apache/zookeeper/common/ZKConfig.java | 2 +-
.../zookeeper/client/ZKClientConfigTest.java | 25 ++++++++++++++++++++++
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZKConfig.java b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZKConfig.java
index d7bed70..11cdc06 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZKConfig.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZKConfig.java
@@ -273,7 +273,7 @@ public class ZKConfig {
public int getInt(String key, int defaultValue) {
String value = getProperty(key);
if (value != null) {
- return Integer.parseInt(value.trim());
+ return Integer.decode(value.trim());
}
return defaultValue;
}
diff --git a/zookeeper-server/src/test/java/org/apache/zookeeper/client/ZKClientConfigTest.java b/zookeeper-server/src/test/java/org/apache/zookeeper/client/ZKClientConfigTest.java
index e0c25a1..9a9b622 100644
--- a/zookeeper-server/src/test/java/org/apache/zookeeper/client/ZKClientConfigTest.java
+++ b/zookeeper-server/src/test/java/org/apache/zookeeper/client/ZKClientConfigTest.java
@@ -185,4 +185,29 @@ public class ZKClientConfigTest {
assertEquals(value, result);
}
+ @Test
+ public void testIntegerRetrievalFromHexadecimalProperty() {
+ int hexaValue = 0x3000000;
+ String wrongValue = "0xwel";
+ int defaultValue = 100;
+ // property is set in hexadecimal value
+ ZKClientConfig zkClientConfig = new ZKClientConfig();
+ zkClientConfig.setProperty(ZKConfig.JUTE_MAXBUFFER,
+ Integer.toString(hexaValue));
+ int result = zkClientConfig.getInt(ZKConfig.JUTE_MAXBUFFER, defaultValue);
+ assertEquals(result, hexaValue);
+ zkClientConfig.setProperty(ZKConfig.JUTE_MAXBUFFER,
+ wrongValue);
+ try {
+ result = zkClientConfig.getInt(ZKConfig.JUTE_MAXBUFFER, defaultValue);
+ fail("NumberFormatException is expected");
+ } catch (NumberFormatException exception) {
+ // do nothing
+ }
+ zkClientConfig.setProperty(ZKConfig.JUTE_MAXBUFFER,
+ " " + hexaValue + " ");
+ result = zkClientConfig.getInt(ZKConfig.JUTE_MAXBUFFER, defaultValue);
+ assertEquals(result, hexaValue);
+ }
+
}