Repository: hive
Updated Branches:
  refs/heads/master bb157fb87 -> 34e050b53


HIVE-6991 History not able to disable/enable after session started (Chinna via 
Jimmy)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/d4e34e81
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/d4e34e81
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/d4e34e81

Branch: refs/heads/master
Commit: d4e34e812745b71e7379623d54c00a0216b767da
Parents: bb157fb
Author: Jimmy Xiang <jxi...@cloudera.com>
Authored: Tue Jun 9 12:52:37 2015 -0700
Committer: Jimmy Xiang <jxi...@cloudera.com>
Committed: Tue Jun 9 12:54:58 2015 -0700

----------------------------------------------------------------------
 .../hadoop/hive/ql/processors/SetProcessor.java  |  3 +++
 .../hadoop/hive/ql/session/SessionState.java     | 19 +++++++++++++++++++
 2 files changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/d4e34e81/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
----------------------------------------------------------------------
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 bc9254c..d271d6d 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
@@ -134,6 +134,9 @@ public class SetProcessor implements CommandProcessor {
       hive.setMetaConf(propName, new 
VariableSubstitution().substitute(ss.getConf(), varvalue));
     } else {
       setConf(varname, varname, varvalue, true);
+      if 
(varname.equals(HiveConf.ConfVars.HIVE_SESSION_HISTORY_ENABLED.toString())) {
+        SessionState.get().updateHistory(Boolean.parseBoolean(varvalue), ss);
+      }
     }
     return 0;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/d4e34e81/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java 
b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
index 7930298..5067f06 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
@@ -855,6 +855,25 @@ public class SessionState {
   }
 
   /**
+   * Update the history if set hive.session.history.enabled
+   *
+   * @param historyEnabled
+   * @param ss
+   */
+  public void updateHistory(boolean historyEnabled, SessionState ss) {
+    if (historyEnabled) {
+      // Uses a no-op proxy
+      if (ss.hiveHist.getHistFileName() == null) {
+        ss.hiveHist = new HiveHistoryImpl(ss);
+      }
+    } else {
+      if (ss.hiveHist.getHistFileName() != null) {
+        ss.hiveHist = HiveHistoryProxyHandler.getNoOpHiveHistoryProxy();
+      }
+    }
+  }
+
+  /**
    * Create a session ID. Looks like:
    *   $user_$pid@$host_$date
    * @return the unique string

Reply via email to