This is an automated email from the ASF dual-hosted git repository.
ferdei 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 660d0ed5f9 NIFI-11023 Address socket communication instability between
minifi process and bootstrap
660d0ed5f9 is described below
commit 660d0ed5f9abc84e225d8f0fc0209f5cffe2e1bd
Author: Csaba Bejan <[email protected]>
AuthorDate: Tue Jan 3 17:49:05 2023 +0100
NIFI-11023 Address socket communication instability between minifi process
and bootstrap
Signed-off-by: Ferenc Erdei <[email protected]>
This closes #6820
---
.../org/apache/nifi/minifi/bootstrap/service/MiNiFiCommandSender.java | 2 ++
.../main/java/org/apache/nifi/minifi/bootstrap/BootstrapListener.java | 3 +++
2 files changed, 5 insertions(+)
diff --git
a/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/service/MiNiFiCommandSender.java
b/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/service/MiNiFiCommandSender.java
index 77595c046e..f2a3be2c3b 100644
---
a/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/service/MiNiFiCommandSender.java
+++
b/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/service/MiNiFiCommandSender.java
@@ -61,6 +61,7 @@ public class MiNiFiCommandSender {
LOGGER.debug("Connecting to MiNiFi instance");
socket.setSoTimeout(SOCKET_TIMEOUT);
socket.connect(new InetSocketAddress("localhost", port),
CONNECTION_TIMEOUT);
+ socket.setSoTimeout(SOCKET_TIMEOUT);
LOGGER.debug("Established connection to MiNiFi instance.");
LOGGER.debug("Sending {} Command to port {}", cmd, port);
@@ -76,6 +77,7 @@ public class MiNiFiCommandSender {
response = Optional.of(responseString);
} catch (EOFException | SocketTimeoutException e) {
String message = "Failed to get response for " + cmd + "
Potentially due to the process currently being down (restarting or otherwise)";
+ LOGGER.error(message, e);
throw new RuntimeException(message);
}
return response;
diff --git
a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/bootstrap/BootstrapListener.java
b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/bootstrap/BootstrapListener.java
index 575645d855..07791b1ea8 100644
---
a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/bootstrap/BootstrapListener.java
+++
b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/bootstrap/BootstrapListener.java
@@ -154,11 +154,13 @@ public class BootstrapListener implements
BootstrapCommunicator {
messageHandlers.putIfAbsent(RELOAD, (args, outputStream) -> {
logger.info("Received RELOAD request from Bootstrap");
echoRequestCmd(RELOAD, outputStream);
+ logger.info("Responded to RELOAD request from Bootstrap, stopping
MiNiFi Server");
minifiServer.stop(true);
});
messageHandlers.putIfAbsent(SHUTDOWN, (args, outputStream) -> {
logger.info("Received SHUTDOWN request from Bootstrap");
echoRequestCmd(SHUTDOWN, outputStream);
+ logger.info("Responded to SHUTDOWN request from Bootstrap,
stopping MiNiFi Server");
minifiServer.stop(false);
});
messageHandlers.putIfAbsent("DUMP", (args, outputStream) -> {
@@ -292,6 +294,7 @@ public class BootstrapListener implements
BootstrapCommunicator {
try {
out.write((cmd + "\n").getBytes(StandardCharsets.UTF_8));
out.flush();
+ out.close();
} catch (IOException e) {
throw new UncheckedIOException(e);
}