You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2017/03/15 20:23:47 UTC
[08/10] geode git commit: GEODE-2599: fix for "null" in string of dots
GEODE-2599: fix for "null" in string of dots
Check for string "null" in server/locator status message
Refactor server and locator launcer wait loops by using Process.isAlive
instead of Process.exitValue
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/6b4e4f2c
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/6b4e4f2c
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/6b4e4f2c
Branch: refs/heads/feature/GEODE-2645
Commit: 6b4e4f2c532c478d8a7a48bc5ac3a3152fc2e208
Parents: f9fa3e3
Author: Ken Howe <kh...@pivotal.io>
Authored: Fri Mar 10 15:09:04 2017 -0800
Committer: Ken Howe <kh...@pivotal.io>
Committed: Tue Mar 14 14:24:32 2017 -0700
----------------------------------------------------------------------
.../cli/commands/LauncherLifecycleCommands.java | 53 ++++++++------------
1 file changed, 22 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/6b4e4f2c/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
index d42d75e..3ad93ce 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
@@ -384,21 +384,9 @@ public class LauncherLifecycleCommands extends AbstractCommandsSupport {
new File(locatorLauncher.getWorkingDirectory()))),
null);
+ locatorState = locatorStatus(workingDirectory, memberName);
do {
- try {
- final int exitValue = locatorProcess.exitValue();
-
- stderrReader.join(PROCESS_STREAM_READER_JOIN_TIMEOUT_MILLIS); // was Long.MAX_VALUE
-
- // Gfsh.println(message);
-
- return ResultBuilder.createShellClientErrorResult(
- String.format(CliStrings.START_LOCATOR__PROCESS_TERMINATED_ABNORMALLY_ERROR_MESSAGE,
- exitValue, locatorLauncher.getWorkingDirectory(), message.toString()));
- } catch (IllegalThreadStateException ignore) {
- // the IllegalThreadStateException is expected; it means the Locator's process has not
- // terminated,
- // and basically should not
+ if (locatorProcess.isAlive()) {
Gfsh.print(".");
synchronized (this) {
@@ -410,12 +398,19 @@ public class LauncherLifecycleCommands extends AbstractCommandsSupport {
String currentLocatorStatusMessage = locatorState.getStatusMessage();
if (isStartingOrNotResponding(locatorState.getStatus())
- && !(StringUtils.isBlank(currentLocatorStatusMessage) || currentLocatorStatusMessage
- .equalsIgnoreCase(previousLocatorStatusMessage))) {
+ && !(StringUtils.isBlank(currentLocatorStatusMessage)
+ || currentLocatorStatusMessage.equalsIgnoreCase(previousLocatorStatusMessage)
+ || currentLocatorStatusMessage.trim().toLowerCase().equals("null"))) {
Gfsh.println();
Gfsh.println(currentLocatorStatusMessage);
previousLocatorStatusMessage = currentLocatorStatusMessage;
}
+ } else {
+ final int exitValue = locatorProcess.exitValue();
+
+ return ResultBuilder.createShellClientErrorResult(
+ String.format(CliStrings.START_LOCATOR__PROCESS_TERMINATED_ABNORMALLY_ERROR_MESSAGE,
+ exitValue, locatorLauncher.getWorkingDirectory(), message.toString()));
}
} while (!(registeredLocatorSignalListener && locatorSignalListener.isSignaled())
&& isStartingOrNotResponding(locatorState.getStatus()));
@@ -1646,21 +1641,9 @@ public class LauncherLifecycleCommands extends AbstractCommandsSupport {
new File(serverLauncher.getWorkingDirectory()))),
null);
+ serverState = serverStatus(workingDirectory, memberName);
do {
- try {
- final int exitValue = serverProcess.exitValue();
-
- stderrReader.join(PROCESS_STREAM_READER_JOIN_TIMEOUT_MILLIS); // was Long.MAX_VALUE
-
- // Gfsh.println(message);
-
- return ResultBuilder.createShellClientErrorResult(
- String.format(CliStrings.START_SERVER__PROCESS_TERMINATED_ABNORMALLY_ERROR_MESSAGE,
- exitValue, serverLauncher.getWorkingDirectory(), message.toString()));
- } catch (IllegalThreadStateException ignore) {
- // the IllegalThreadStateException is expected; it means the Server's process has not
- // terminated,
- // and should not
+ if (serverProcess.isAlive()) {
Gfsh.print(".");
synchronized (this) {
@@ -1673,11 +1656,19 @@ public class LauncherLifecycleCommands extends AbstractCommandsSupport {
if (isStartingOrNotResponding(serverState.getStatus())
&& !(StringUtils.isBlank(currentServerStatusMessage)
- || currentServerStatusMessage.equalsIgnoreCase(previousServerStatusMessage))) {
+ || currentServerStatusMessage.equalsIgnoreCase(previousServerStatusMessage)
+ || currentServerStatusMessage.trim().toLowerCase().equals("null"))) {
Gfsh.println();
Gfsh.println(currentServerStatusMessage);
previousServerStatusMessage = currentServerStatusMessage;
}
+ } else {
+ final int exitValue = serverProcess.exitValue();
+
+ return ResultBuilder.createShellClientErrorResult(
+ String.format(CliStrings.START_SERVER__PROCESS_TERMINATED_ABNORMALLY_ERROR_MESSAGE,
+ exitValue, serverLauncher.getWorkingDirectory(), message.toString()));
+
}
} while (!(registeredServerSignalListener && serverSignalListener.isSignaled())
&& isStartingOrNotResponding(serverState.getStatus()));