Repository: hive Updated Branches: refs/heads/spark 344ccad09 -> fc48b075a
HIVE-10473 Spark client is recreated even spark configuration is not changed (Jimmy, reviewed by Szehon) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/fc48b075 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/fc48b075 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/fc48b075 Branch: refs/heads/spark Commit: fc48b075a31b8c3e59e83ac93b893261cfbf30cd Parents: 344ccad Author: Jimmy Xiang <[email protected]> Authored: Fri Apr 24 12:37:29 2015 -0700 Committer: Jimmy Xiang <[email protected]> Committed: Mon Apr 27 10:14:27 2015 -0700 ---------------------------------------------------------------------- .../src/java/org/apache/hadoop/hive/conf/HiveConf.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/fc48b075/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ---------------------------------------------------------------------- diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index e138800..43c53fc 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -79,7 +79,7 @@ public class HiveConf extends Configuration { private final List<String> restrictList = new ArrayList<String>(); private Pattern modWhiteListPattern = null; - private boolean isSparkConfigUpdated = false; + private volatile boolean isSparkConfigUpdated = false; public boolean getSparkConfigUpdated() { return isSparkConfigUpdated; @@ -2302,8 +2302,13 @@ public class HiveConf extends Configuration { throw new IllegalArgumentException("Cannot modify " + name + " at runtime. It is in the list" + "of parameters that can't be modified at runtime"); } - isSparkConfigUpdated = isSparkRelatedConfig(name); - set(name, value); + String oldValue = name != null ? get(name) : null; + if (name == null || value == null || !value.equals(oldValue)) { + // When either name or value is null, the set method below will fail, + // and throw IllegalArgumentException + set(name, value); + isSparkConfigUpdated = isSparkRelatedConfig(name); + } } /**
