diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/ResetProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/ResetProcessor.java index bbd4501..e597a28 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/processors/ResetProcessor.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/ResetProcessor.java @@ -103,11 +103,10 @@ private void resetOverrideOnly(SessionState ss, String varname) { ss.getOverriddenConfigurations().remove(varname); } - private void setSessionVariableFromConf(SessionState ss, String varname, - HiveConf conf) { + private void setSessionVariableFromConf(SessionState ss, String varname, HiveConf conf) { String value = conf.get(varname); if (value != null) { - ss.getConf().set(varname, value); + SetProcessor.setConf(ss, varname, varname, value, false); } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java index 0ffa182..1458211 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java @@ -209,17 +209,22 @@ public static CommandProcessorResponse setVariable( : new CommandProcessorResponse(0, Lists.newArrayList(nonErrorMessage)); } + static String setConf(String varname, String key, String varvalue, boolean register) + throws IllegalArgumentException { + return setConf(SessionState.get(), varname, key, varvalue, register); + } + /** * @return A console message that is not strong enough to fail the command (e.g. deprecation). */ - static String setConf(String varname, String key, String varvalue, boolean register) + static String setConf(SessionState ss, String varname, String key, String varvalue, boolean register) throws IllegalArgumentException { String result = null; - HiveConf conf = SessionState.get().getConf(); + HiveConf conf = ss.getConf(); String value = new VariableSubstitution(new HiveVariableSource() { @Override public Map getHiveVariable() { - return SessionState.get().getHiveVariables(); + return ss.getHiveVariables(); } }).substitute(conf, varvalue); if (conf.getBoolVar(HiveConf.ConfVars.HIVECONFVALIDATION)) { @@ -246,7 +251,7 @@ static String setConf(String varname, String key, String varvalue, boolean regis conf.verifyAndSet(key, value); if (HiveConf.ConfVars.HIVE_EXECUTION_ENGINE.varname.equals(key)) { if (!"spark".equals(value)) { - SessionState.get().closeSparkSession(); + ss.closeSparkSession(); } if ("mr".equals(value)) { result = HiveConf.generateMrDeprecationWarning(); @@ -254,7 +259,7 @@ static String setConf(String varname, String key, String varvalue, boolean regis } } if (register) { - SessionState.get().getOverriddenConfigurations().put(key, value); + ss.getOverriddenConfigurations().put(key, value); } return result; }