diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java index 06e9ff6..cb27998 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java @@ -16,6 +16,7 @@ package org.apache.hadoop.hive.ql.exec.tez; +import java.io.IOException; import java.util.Map; import org.apache.hadoop.hive.conf.HiveConf; @@ -24,6 +25,7 @@ import org.apache.hadoop.hive.ql.session.SessionState; import org.apache.hadoop.hive.ql.wm.Trigger; import org.apache.hadoop.hive.ql.wm.TriggerActionHandler; +import org.apache.hadoop.security.UserGroupInformation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,7 +43,8 @@ public void applyAction(final Map queriesViolated) { TezSessionState sessionState = entry.getKey(); String queryId = sessionState.getWmContext().getQueryId(); try { - SessionState ss = new SessionState(new HiveConf()); + UserGroupInformation ugi = UserGroupInformation.getCurrentUser(); + SessionState ss = new SessionState(new HiveConf(), ugi.getShortUserName()); ss.setIsHiveServerQuery(true); SessionState.start(ss); KillQuery killQuery = sessionState.getKillQuery(); @@ -50,7 +53,7 @@ public void applyAction(final Map queriesViolated) { sessionState.getKillQuery().killQuery(queryId, entry.getValue().getViolationMsg(), sessionState.getConf()); } - } catch (HiveException e) { + } catch (HiveException|IOException e) { LOG.warn("Unable to kill query {} for trigger violation", queryId); } break;