You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ex...@apache.org on 2022/03/03 00:50:37 UTC

[nifi] branch main updated: NIFI-9747 - Track PID in nifi-bootstrap logging on shutdown

This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 272f412  NIFI-9747 - Track PID in nifi-bootstrap logging on shutdown
272f412 is described below

commit 272f4122542c6a77d7867b4728a8c0f9165551a4
Author: Paul Grey <gr...@yahoo.com>
AuthorDate: Wed Mar 2 13:48:07 2022 -0500

    NIFI-9747 - Track PID in nifi-bootstrap logging on shutdown
    
    This closes #5826
    
    Signed-off-by: David Handermann <ex...@apache.org>
---
 .../src/main/java/org/apache/nifi/bootstrap/RunNiFi.java       | 10 +++++-----
 .../src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java  |  8 +++++---
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
index 57b2901..9fd972d 100644
--- a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
+++ b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
@@ -1027,12 +1027,12 @@ public class RunNiFi {
         notifyStop();
         final long startWait = System.nanoTime();
         while (isProcessRunning(pid, logger)) {
-            logger.info("Waiting for Apache NiFi to finish shutting down...");
+            logger.info("NiFi PID [{}] shutdown in progress...", pid);
             final long waitNanos = System.nanoTime() - startWait;
             final long waitSeconds = TimeUnit.NANOSECONDS.toSeconds(waitNanos);
             if (waitSeconds >= gracefulShutdownSeconds && gracefulShutdownSeconds > 0) {
                 if (isProcessRunning(pid, logger)) {
-                    logger.warn("NiFi has not finished shutting down after {} seconds. Killing process.", gracefulShutdownSeconds);
+                    logger.warn("NiFi PID [{}] shutdown not completed after {} seconds: Killing process", gracefulShutdownSeconds);
                     try {
                         killProcessTree(pid, logger);
                     } catch (final IOException ioe) {
@@ -1056,7 +1056,7 @@ public class RunNiFi {
             logger.error("Failed to delete pid file {}; this file should be cleaned up manually", pidFile);
         }
 
-        logger.info("NiFi has finished shutting down.");
+        logger.info("NiFi PID [{}] shutdown completed", pid);
     }
 
     private static List<String> getChildProcesses(final String ppid) throws IOException {
@@ -1327,7 +1327,7 @@ public class RunNiFi {
             cmdLogger.info("Launched Apache NiFi with Process ID " + pid);
         }
 
-        shutdownHook = new ShutdownHook(process, this, secretKey, gracefulShutdownSeconds, loggingExecutor);
+        shutdownHook = new ShutdownHook(process, pid, this, secretKey, gracefulShutdownSeconds, loggingExecutor);
 
         final String hostname = getHostname();
         final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
@@ -1400,7 +1400,7 @@ public class RunNiFi {
                             cmdLogger.info("Launched Apache NiFi with Process ID " + pid);
                         }
 
-                        shutdownHook = new ShutdownHook(process, this, secretKey, gracefulShutdownSeconds, loggingExecutor);
+                        shutdownHook = new ShutdownHook(process, pid, this, secretKey, gracefulShutdownSeconds, loggingExecutor);
                         runtime.addShutdownHook(shutdownHook);
 
                         final boolean started = waitForStart();
diff --git a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java
index 6cedbb1..fa89ba4 100644
--- a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java
+++ b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java
@@ -27,14 +27,16 @@ import java.util.concurrent.TimeUnit;
 public class ShutdownHook extends Thread {
 
     private final Process nifiProcess;
+    private final Long pid;
     private final RunNiFi runner;
     private final int gracefulShutdownSeconds;
     private final ExecutorService executor;
 
     private volatile String secretKey;
 
-    public ShutdownHook(final Process nifiProcess, final RunNiFi runner, final String secretKey, final int gracefulShutdownSeconds, final ExecutorService executor) {
+    public ShutdownHook(final Process nifiProcess, final Long pid, final RunNiFi runner, final String secretKey, final int gracefulShutdownSeconds, final ExecutorService executor) {
         this.nifiProcess = nifiProcess;
+        this.pid = pid;
         this.runner = runner;
         this.secretKey = secretKey;
         this.gracefulShutdownSeconds = gracefulShutdownSeconds;
@@ -51,7 +53,7 @@ public class ShutdownHook extends Thread {
         runner.setAutoRestartNiFi(false);
         final int ccPort = runner.getNiFiCommandControlPort();
         if (ccPort > 0) {
-            System.out.println("Initiating Shutdown of NiFi...");
+            System.out.printf("NiFi PID [%d] shutdown started%n", pid);
 
             try {
                 final Socket socket = new Socket("localhost", ccPort);
@@ -66,7 +68,7 @@ public class ShutdownHook extends Thread {
         }
 
         runner.notifyStop();
-        System.out.println("Waiting for Apache NiFi to finish shutting down...");
+        System.out.printf("NiFi PID [%d] shutdown in progress...%n", pid);
         final long startWait = System.nanoTime();
         while (RunNiFi.isAlive(nifiProcess)) {
             final long waitNanos = System.nanoTime() - startWait;