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());