diff --git beeline/src/java/org/apache/hive/beeline/HiveSchemaTool.java beeline/src/java/org/apache/hive/beeline/HiveSchemaTool.java index 96b2978..c7e7b74 100644 --- beeline/src/java/org/apache/hive/beeline/HiveSchemaTool.java +++ beeline/src/java/org/apache/hive/beeline/HiveSchemaTool.java @@ -90,13 +90,6 @@ public HiveSchemaTool(String hiveHome, HiveConf hiveConf, String dbType) this.hiveConf = hiveConf; this.dbType = dbType; this.metaStoreSchemaInfo = new MetaStoreSchemaInfo(hiveHome, hiveConf, dbType); - userName = hiveConf.get(ConfVars.METASTORE_CONNECTION_USER_NAME.varname); - try { - passWord = ShimLoader.getHadoopShims().getPassword(hiveConf, - HiveConf.ConfVars.METASTOREPWD.varname); - } catch (IOException err) { - throw new HiveMetaException("Error getting metastore password", err); - } } public HiveConf getHiveConf() { @@ -964,9 +957,19 @@ public static void main(String[] args) { if (line.hasOption("userName")) { schemaTool.setUserName(line.getOptionValue("userName")); + } else { + schemaTool.setUserName( + schemaTool.getHiveConf().get(ConfVars.METASTORE_CONNECTION_USER_NAME.varname)); } if (line.hasOption("passWord")) { schemaTool.setPassWord(line.getOptionValue("passWord")); + } else { + try { + schemaTool.setPassWord(ShimLoader.getHadoopShims().getPassword(schemaTool.getHiveConf(), + HiveConf.ConfVars.METASTOREPWD.varname)); + } catch (IOException err) { + throw new HiveMetaException("Error getting metastore password", err); + } } if (line.hasOption("dryRun")) { schemaTool.setDryRun(true); diff --git itests/hive-unit/src/test/java/org/apache/hive/beeline/TestSchemaTool.java itests/hive-unit/src/test/java/org/apache/hive/beeline/TestSchemaTool.java index 5241807..9bd9efd 100644 --- itests/hive-unit/src/test/java/org/apache/hive/beeline/TestSchemaTool.java +++ itests/hive-unit/src/test/java/org/apache/hive/beeline/TestSchemaTool.java @@ -36,6 +36,7 @@ import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.metastore.HiveMetaException; import org.apache.hadoop.hive.metastore.MetaStoreSchemaInfo; +import org.apache.hadoop.hive.shims.ShimLoader; import org.apache.hive.beeline.HiveSchemaHelper.NestedScriptParser; import org.apache.hive.beeline.HiveSchemaHelper.PostgresCommandParser; @@ -57,6 +58,10 @@ protected void setUp() throws Exception { hiveConf = new HiveConf(this.getClass()); schemaTool = new HiveSchemaTool( System.getProperty("test.tmp.dir", "target/tmp"), hiveConf, "derby"); + schemaTool.setUserName( + schemaTool.getHiveConf().get(HiveConf.ConfVars.METASTORE_CONNECTION_USER_NAME.varname)); + schemaTool.setPassWord(ShimLoader.getHadoopShims().getPassword(schemaTool.getHiveConf(), + HiveConf.ConfVars.METASTOREPWD.varname)); System.setProperty("beeLine.system.exit", "true"); errStream = System.err; outStream = System.out;