diff --git ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java index c307085366..116c70c837 100644 --- ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java +++ ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java @@ -92,6 +92,7 @@ public void postAnalyze(HiveSemanticAnalyzerHookContext context, List> r private QueryState queryState; private String currentQuery; private int executionIndex; + private boolean closed; private ArrayList plugins; @@ -166,6 +167,11 @@ public CommandProcessorResponse run() throws CommandProcessorException { cpe = e; } + if (closed) { + // the process was aborted, we should just return + return new CommandProcessorResponse(null, "Command processing was aborted."); + } + PlanMapper oldPlanMapper = coreDriver.getPlanMapper(); afterExecute(oldPlanMapper, cpr != null); @@ -271,6 +277,7 @@ public void resetFetch() throws IOException { @Override public void close() { + closed = true; coreDriver.close(); }