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 6c56212..e5e666a 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 @@ -598,13 +598,15 @@ public static void endStart(SessionState startSs) startSs.tezSessionState.endOpen(); } - synchronized private static void start(SessionState startSs, boolean isAsync, LogHelper console) { + private static void start(SessionState startSs, boolean isAsync, LogHelper console) { setCurrentSessionState(startSs); - if (startSs.isStarted) { - return; + synchronized(SessionState.class) { + if (startSs.isStarted) { + return; + } + startSs.isStarted = true; } - startSs.isStarted = true; if (startSs.hiveHist == null){ if (startSs.getConf().getBoolVar(HiveConf.ConfVars.HIVE_SESSION_HISTORY_ENABLED)) {