diff --git llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java index 99f3c15b45..1121f7f499 100644 --- llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java +++ llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java @@ -620,6 +620,8 @@ public void queryFailed(QueryIdentifier queryIdentifier) { fragmentInfo.getFragmentIdentifierString()); executorService.killFragment(fragmentInfo.getFragmentIdentifierString()); } + + queryTracker.queryFailed(queryIdentifier); } private class KilledTaskHandlerImpl implements KilledTaskHandler { diff --git llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/QueryTracker.java llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/QueryTracker.java index 40e921f4fa..9cb66970bf 100644 --- llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/QueryTracker.java +++ llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/QueryTracker.java @@ -340,6 +340,17 @@ QueryInfo queryComplete(QueryIdentifier queryIdentifier, long deleteDelay, } } + public void queryFailed(QueryIdentifier queryIdentifier) { + QueryInfo queryInfo = null; + try { + queryInfo = checkPermissionsAndGetQuery(queryIdentifier); + } catch (IOException e) { + throw new RuntimeException(e); + } + if (queryInfo != null) { + cleanupLocalDirs(queryInfo, 0); + } + } private void cleanupLocalDirs(QueryInfo queryInfo, long deleteDelay) { String[] localDirs = queryInfo.getLocalDirsNoCreate();