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

Reply via email to