From 6d7f117674c75dfbbd87acf434efa763b2cec4d5 Mon Sep 17 00:00:00 2001 From: Allan Espinosa Date: Thu, 10 Oct 2019 14:39:40 -0400 Subject: [PATCH] HIVE-22325: Enable variable expansion for beeline --- .../hs2connection/BeelineSiteParser.java | 2 +- .../hs2connection/TestBeelineSiteParser.java | 21 ++++++++++++-- .../beeline/hs2connection/beeline-site.xml | 29 +++++++++++++++++++ 3 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 beeline/src/test/resources/org/apache/hive/beeline/hs2connection/beeline-site.xml diff --git a/beeline/src/java/org/apache/hive/beeline/hs2connection/BeelineSiteParser.java b/beeline/src/java/org/apache/hive/beeline/hs2connection/BeelineSiteParser.java index 4c55104da3..f36231d72c 100644 --- a/beeline/src/java/org/apache/hive/beeline/hs2connection/BeelineSiteParser.java +++ b/beeline/src/java/org/apache/hive/beeline/hs2connection/BeelineSiteParser.java @@ -91,7 +91,7 @@ public Properties getConnectionProperties() throws BeelineSiteParseException { String key = kv.getKey(); if (key.startsWith(BEELINE_CONNECTION_NAMED_JDBC_URL_PREFIX)) { props.setProperty(key.substring(BEELINE_CONNECTION_NAMED_JDBC_URL_PREFIX.length()), - kv.getValue()); + conf.get(key)); } } } catch (Exception e) { diff --git a/beeline/src/test/org/apache/hive/beeline/hs2connection/TestBeelineSiteParser.java b/beeline/src/test/org/apache/hive/beeline/hs2connection/TestBeelineSiteParser.java index fc2b44dac9..4728ccefa0 100644 --- a/beeline/src/test/org/apache/hive/beeline/hs2connection/TestBeelineSiteParser.java +++ b/beeline/src/test/org/apache/hive/beeline/hs2connection/TestBeelineSiteParser.java @@ -17,12 +17,15 @@ */ package org.apache.hive.beeline.hs2connection; +import org.junit.Assert; +import org.junit.Test; + import java.io.File; import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.junit.Assert; -import org.junit.Test; +import java.util.Properties; public class TestBeelineSiteParser { @Test @@ -38,4 +41,16 @@ public void testConfigLocationPathInEtc() throws Exception { BeelineSiteParser.DEFAULT_BEELINE_SITE_FILE_NAME)); } -} + + @Test + public void testVariableExpansion() throws Exception { + List locations = new ArrayList(); + String siteFile = getClass().getResource(BeelineSiteParser.DEFAULT_BEELINE_SITE_FILE_NAME).getPath(); + locations.add(siteFile); + BeelineSiteParser parser = new BeelineSiteParser(locations); + + Properties properties = parser.getConnectionProperties(); + + Assert.assertEquals("jdbc:hive2://localhost/?tez.queue.name=myqueue", properties.get("myqueue")); + } +} \ No newline at end of file diff --git a/beeline/src/test/resources/org/apache/hive/beeline/hs2connection/beeline-site.xml b/beeline/src/test/resources/org/apache/hive/beeline/hs2connection/beeline-site.xml new file mode 100644 index 0000000000..62306da1d5 --- /dev/null +++ b/beeline/src/test/resources/org/apache/hive/beeline/hs2connection/beeline-site.xml @@ -0,0 +1,29 @@ + + + + + + + beeline.hs2.jdbc.url.default + jdbc:hive2://localhost/ + + + beeline.hs2.jdbc.url.myqueue + ${beeline.hs2.jdbc.url.default}?tez.queue.name=myqueue + + \ No newline at end of file