You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2020/02/29 06:40:23 UTC
[hive] branch master updated: HIVE-16116 : Beeline throws NPE when
beeline.hiveconfvariables={} in beeline.properties (Rajesh Balamohan via
Peter Vary)
This is an automated email from the ASF dual-hosted git repository.
hashutosh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new b6d8b80 HIVE-16116 : Beeline throws NPE when beeline.hiveconfvariables={} in beeline.properties (Rajesh Balamohan via Peter Vary)
b6d8b80 is described below
commit b6d8b809d25372e9d261eed04049d047d670ed5d
Author: Rajesh Balamohan <rb...@cloudera.com>
AuthorDate: Fri Feb 28 22:39:32 2020 -0800
HIVE-16116 : Beeline throws NPE when beeline.hiveconfvariables={} in beeline.properties (Rajesh Balamohan via Peter Vary)
Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
---
.../java/org/apache/hive/beeline/BeeLineOpts.java | 8 ++++++
.../apache/hive/beeline/TestBeelineArgParsing.java | 32 ++++++++++++++++++++++
2 files changed, 40 insertions(+)
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
index 60c740a..9fed81e 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
@@ -625,6 +625,10 @@ public class BeeLineOpts implements Completer {
}
public void setHiveVariables(Map<String, String> hiveVariables) {
+ if (hiveVariables == null) {
+ this.hiveVariables.clear();
+ return;
+ }
this.hiveVariables = hiveVariables;
}
@@ -658,6 +662,10 @@ public class BeeLineOpts implements Completer {
}
public void setHiveConfVariables(Map<String, String> hiveConfVariables) {
+ if (hiveConfVariables == null) {
+ this.hiveConfVariables.clear();
+ return;
+ }
this.hiveConfVariables = hiveConfVariables;
}
diff --git a/beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java b/beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java
index dcedbc2..db0cba3 100644
--- a/beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java
+++ b/beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java
@@ -18,7 +18,12 @@
package org.apache.hive.beeline;
+import java.io.BufferedWriter;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.FileWriter;
import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -123,6 +128,33 @@ public class TestBeelineArgParsing {
}
@Test
+ public void testEmptyHiveConfVariable() throws Exception {
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ PrintStream ops = new PrintStream(os);
+ TestBeeline bl = new TestBeeline();
+ bl.setOutputStream(ops);
+ BeeLineOpts opts = new BeeLineOpts(bl, System.getProperties());
+ String[] args = { "--hiveconf", "hadoop.tmp.dir=/tmp" };
+
+ File rcFile = new File(opts.saveDir(), "beeline.properties");
+ rcFile.deleteOnExit();
+
+ BufferedWriter writer = new BufferedWriter(new FileWriter(rcFile));
+ writer.write("beeline.hiveconfvariables={}");
+ writer.newLine();
+ writer.write("beeline.hivevariables={}");
+ writer.newLine();
+ writer.flush();
+
+ try (InputStream stream = new FileInputStream(rcFile)) {
+ bl.getOpts().load(stream);
+ bl.initArgs(args);
+ bl.getOpts().getHiveVariables().get("test");
+ }
+ }
+
+
+ @Test
public void testPasswordFileArgs() throws Exception {
TestBeeline bl = new TestBeeline();
File passFile = new File("file.password");