James Spurin created HIVE-7658: ---------------------------------- Summary: Hive search order for hive-site.xml when using --config option Key: HIVE-7658 URL: https://issues.apache.org/jira/browse/HIVE-7658 Project: Hive Issue Type: Bug Components: CLI Affects Versions: 0.13.0 Environment: -bash-3.2$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.9 (Tikanga)
Hive 0.13.0-mapr-1406 Subversion git://rhbuild/root/builds/opensource/node/ecosystem/dl/hive -r 4ff8f8b4a8fc4862727108204399710ef7ee7abc Compiled by root on Tue Jul 1 14:18:09 PDT 2014 >From source with checksum 208afc25260342b51aefd2e0edf4c9d6 Reporter: James Spurin Priority: Minor When using the hive cl, the tool appears to favour a hive-site.xml file in the current working directory even if the --config option is used with a valid directory containing a hive-site.xml file. I would have expected the directory specified with --config to take precedence in the CLASSPATH search order. Here's an example - /home/spurija/hive-site.xml = <configuration> <property> <name>hive.exec.local.scratchdir</name> <value>/tmp/example1</value> </property> </configuration> /tmp/hive/hive-site.xml = <configuration> <property> <name>hive.exec.local.scratchdir</name> <value>/tmp/example2</value> </property> </configuration> -bash-4.1$ diff /home/spurija/hive-site.xml /tmp/hive/hive-site.xml 23c23 < <value>/tmp/example1</value> --- > <value>/tmp/example2</value> { check the value of scratchdir, should be example 1 } -bash-4.1$ pwd /home/spurija -bash-4.1$ hive Logging initialized using configuration in jar:file:/opt/mapr/hive/hive-0.13/lib/hive-common-0.13.0-mapr-1405.jar!/hive-log4j.properties hive> set hive.exec.local.scratchdir; hive.exec.local.scratchdir=/tmp/example1 { run with a specified config, check the value of scratchdir, should be example2 … still reported as example1 } -bash-4.1$ pwd /home/spurija -bash-4.1$ hive --config /tmp/hive Logging initialized using configuration in jar:file:/opt/mapr/hive/hive-0.13/lib/hive-common-0.13.0-mapr-1405.jar!/hive-log4j.properties hive> set hive.exec.local.scratchdir; hive.exec.local.scratchdir=/tmp/example1 { remove the local config, check the value of scratchdir, should be example2 … now correct } -bash-4.1$ pwd /home/spurija -bash-4.1$ rm hive-site.xml -bash-4.1$ hive --config /tmp/hive Logging initialized using configuration in jar:file:/opt/mapr/hive/hive-0.13/lib/hive-common-0.13.0-mapr-1405.jar!/hive-log4j.properties hive> set hive.exec.local.scratchdir; hive.exec.local.scratchdir=/tmp/example2 Is this expected behavior or should it use the directory supplied with --config as the preferred configuration? -- This message was sent by Atlassian JIRA (v6.2#6252)