You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/05/31 16:44:04 UTC

[jira] [Commented] (GEODE-2971) Inconsistency in gfsh status command

    [ https://issues.apache.org/jira/browse/GEODE-2971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16031489#comment-16031489 ] 

ASF GitHub Bot commented on GEODE-2971:
---------------------------------------

GitHub user PurelyApplied opened a pull request:

    https://github.com/apache/geode/pull/551

    GEODE-2971: consistency in shell exit codes for status commands.

    * Replaced all System.exit parameters with ShellExitCode references for extensibility
    * Added FakeLaunchers to Locator- and ServerStarterRules to spoof member status and to register the instance to the Launcher class.  The spoofed status is of mixed reliability and only used when connected via jmx (via `--name`, not `--dir` or `--pid`).
    * Expanded starter rules to spawn PID files in working directory.
    * Made `getMemberMXBean` static, added public `isMemberMXBeanAvailable` to allow tests to delay tests until server is ready.
    * Code cleanup of touched files.
    
    Precheckin ran nearly-fully-green.  One test failure which I suspect to be unrelated to these changes.  This test passed cleanly when run with `gradlew -distributedTest.single=...`.  Currently rerunning DUnits together to verify.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/PurelyApplied/geode gem-1370

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/geode/pull/551.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #551
    
----
commit 91ee3d79102fafa9521a219aa8d3527bea519922
Author: Patrick Rhomberg <pr...@pivotal.io>
Date:   2017-05-30T21:25:47Z

    GEODE-2971: consistency in shell exit codes for status commands.
    
    * Replaced all System.exit calls with ShellExitCode references for extensibility
    * Added FakeLaunchers to Locator- and ServerStarterRules to spoof member status made via jmx (not --pid or --dir options)
    * Expanded starter rules to spawn PID files
    * Made getMemberMXBean static, made public isMemberMXBeanAvailable to delay tests until server is ready.
    * Code cleanup of touched files.

----


> Inconsistency in gfsh status command
> ------------------------------------
>
>                 Key: GEODE-2971
>                 URL: https://issues.apache.org/jira/browse/GEODE-2971
>             Project: Geode
>          Issue Type: Bug
>          Components: gfsh
>            Reporter: Patrick Rhomberg
>
> There is a general inconsistency in gfsh's exit status to the shell.  This makes scripting rather difficult.  For instance:
> * Locator & Server Online (+)
> ** --pid: exit code {{0}} for both, all good.
> ** --name: exit code {{0}} for both, all good.
> ** --dir: exit code {{0}} for both, all good.
> * Locator Online, Server Offline (-)
> ** --pid: exit code is {{0}} for both. Nevertheless, the return string when executing the command for the server returns a {{null}} within the message (where the ip and port should be). As an example: {{Server in /path/to/server/directory on null is currently not responding}}.
> ** --name: exit code is {{0}} for the locator, {{1}} for the server because there's no online member with the specified name... which raises the question: there wasn't any exceptions during the execution, shouldn't we return {{0}}?.
> ** --dir: exit code is {{0}} for both. Nevertheless, the return string when executing the command for the server returns a {{null}} within the message (where the ip and port should be). As an example: {{Server in /path/to/server/directory on null is currently not responding}}.
> * Locator & Server Offline (-)
> ** --pid: exit code for locator is {{1}}, and the return string only contains {{null}}. The exit code for server is {{0}}, but the return string contains a {{null}} within the message (where the ip and port should be). As an example: {{Server in /path/to/server/directory on null is currently not responding}}.
> ** --name: both return {{1}}, which is expected since there's no jmx manager running and this option requires gfsh to be connected.
> ** --dir: exit code for locator is {{1}}, and the return string only contains {{null}}. The exit code for server is {{0}}, but the return string contains a {{null}} within the message (where the ip and port should be). As an example: {{Server in /path/to/server/directory on null is currently not responding}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)