TEZ-4230: LocalContainerLauncher can kill task future too early, causing app hang (László Bodor reviewed by Jonathan Turner Eagles)
Signed-off-by: Laszlo Bodor <bodorlaszlo0202@gmail.com>
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/LocalContainerLauncher.java b/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/LocalContainerLauncher.java
index a63ce3f..ae30809 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/LocalContainerLauncher.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/LocalContainerLauncher.java
@@ -299,10 +299,11 @@
if (future == null) {
LOG.info("Ignoring stop request for containerId: " + event.getContainerId());
} else {
- LOG.info(
- "Stopping containerId: {}",
- event.getContainerId());
- future.cancel(true);
+ LOG.info("Stopping containerId: {}, isDone: {}", event.getContainerId(),
+ future.isDone());
+ future.cancel(false);
+ LOG.debug("Stopped containerId: {}, isCancelled: {}", event.getContainerId(),
+ future.isCancelled());
}
// Send this event to maintain regular control flow. This isn't of much use though.
getContext().containerStopRequested(event.getContainerId());