You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Allan Espinosa (Jira)" <ji...@apache.org> on 2019/10/10 18:24:00 UTC

[jira] [Created] (HIVE-22325) variable expansion doesn't work in beeline-site.xml

Allan Espinosa created HIVE-22325:
-------------------------------------

             Summary: variable expansion doesn't work in beeline-site.xml
                 Key: HIVE-22325
                 URL: https://issues.apache.org/jira/browse/HIVE-22325
             Project: Hive
          Issue Type: Bug
          Components: Beeline
    Affects Versions: 3.1.2
            Reporter: Allan Espinosa
            Assignee: Allan Espinosa


I have a default jdbc connection string and I want to build on top on it to have customized connections like setting custom queue names.  

{code}
$ cat .beeline/beeline-site.xml
  <configuration  xmlns:xi="http://www.w3.org/2001/XInclude">

    <property>
      <name>beeline.hs2.jdbc.url.base</name>
      <value>jdbc:hive2://localhost/</value>
    </property>

    <property>
      <name>beeline.hs2.jdbc.url.myqueue</name>
      <value>${beeline.hs2.jdbc.url.base}?tez.queue.name=myqueue</value>
    </property>
  </configuration>
$ beeline -c myqueue
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hdp/3.1.0.0-78/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/3.1.0.0-78/hadoop/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Error in parsing jdbc url: ${beeline.hs2.jdbc.url.base}?tez.queue.name=myqueue from beeline-site.xml
Beeline version 3.1.0.3.1.0.0-78 by Apache Hive
beeline>
{code}

Relevant code is found in https://github.com/apache/hive/blob/master/beeline/src/java/org/apache/hive/beeline/hs2connection/BeelineSiteParser.java#L94

Entry<T,T>#getValue() skips the variable expansion .  Using Configuration#get(key) would make this work.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)