Repository: nifi Updated Branches: refs/heads/0.x 06c5c695b -> 718212aac
NIFI-1905 fixed compilation error due to usage of non-existing method on Process (part-two) Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/718212aa Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/718212aa Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/718212aa Branch: refs/heads/0.x Commit: 718212aac430e47e60dd863a937f7380b34ebe3d Parents: 06c5c69 Author: Oleg Zhurakousky <[email protected]> Authored: Mon May 23 17:46:47 2016 -0400 Committer: Oleg Zhurakousky <[email protected]> Committed: Mon May 23 17:46:47 2016 -0400 ---------------------------------------------------------------------- .../nifi/processors/standard/ExecuteProcess.java | 17 ++++++++++------- .../processors/standard/TestExecuteProcess.java | 6 ------ 2 files changed, 10 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/718212aa/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java index 302b5cf..bb4c53e 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java @@ -186,10 +186,7 @@ public class ExecuteProcess extends AbstractProcessor { try { executor.shutdown(); } finally { - if (this.externalProcess.isAlive()) { - this.getLogger().info("Process hasn't terminated, forcing the interrupt"); - this.externalProcess.destroy(); - } + this.externalProcess.destroy(); } } @@ -379,9 +376,15 @@ public class ExecuteProcess extends AbstractProcessor { try { // Since we are going to exit anyway, one sec gives it an extra chance to exit gracefully. // In the future consider exposing it via configuration. - boolean terminated = externalProcess.waitFor(1000, TimeUnit.MILLISECONDS); - int exitCode = terminated ? externalProcess.exitValue() : -9999; - getLogger().info("Process finished with exit code {} ", new Object[] { exitCode }); + externalProcess.waitFor(); + int exitCode = -9999; + try { + exitCode = externalProcess.exitValue(); + ExecuteProcess.this.getLogger().info("Process finished with exit code {} ", + new Object[] { exitCode }); + } catch (IllegalThreadStateException e) { + ExecuteProcess.this.getLogger().warn("Failed to terminate external process"); + } } catch (InterruptedException e1) { Thread.currentThread().interrupt(); } http://git-wip-us.apache.org/repos/asf/nifi/blob/718212aa/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java index 160bbdb..4ec199b 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java @@ -18,7 +18,6 @@ package org.apache.nifi.processors.standard; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -117,11 +116,6 @@ public class TestExecuteProcess { ExecutorService executor = (ExecutorService) executorF.get(processor); assertTrue(executor.isShutdown()); assertTrue(executor.isTerminated()); - - Field processF = ExecuteProcess.class.getDeclaredField("externalProcess"); - processF.setAccessible(true); - Process process = (Process) processF.get(processor); - assertFalse(process.isAlive()); } catch (Exception e) { fail(); }
