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;