[ https://issues.apache.org/jira/browse/GEODE-9615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirk Lund resolved GEODE-9615. ------------------------------ Fix Version/s: 1.15.0 1.16.0 Resolution: Fixed Fixed by https://github.com/apache/geode/commit/495f3b0cffe0d0200521c266ea26c9e53cf6d629 in develop and https://github.com/apache/geode/commit/ee9d674efaebdb8407af38a74f29a6094c2a6f3b in support/1.15 > CI Failure: Acceptance Tests fails with exit value 1 from start locator or > start server > --------------------------------------------------------------------------------------- > > Key: GEODE-9615 > URL: https://issues.apache.org/jira/browse/GEODE-9615 > Project: Geode > Issue Type: Bug > Components: tests > Affects Versions: 1.13.0, 1.14.0, 1.15.0, 1.16.0 > Reporter: Kirk Lund > Assignee: Kirk Lund > Priority: Major > Fix For: 1.15.0, 1.16.0 > > > This failure occurs because the locator or server was stopped and then > immediately restarted with the same ports. When Gfsh returns from stop > locator or stop server, the stopped process is asynchronously stopping and > may continue to hold those ports when the next start command for that process > is issued. It then fails with an exit value of 1 instead of the expected > value of 0. > Any test using GfshRule to stop and then immediately start a new process may > fail in this way. The underlying exception in the locator or server log is a > BindException because the port is still in use by the previous instance of > that process which is still in the process of stopping. > The only way to close this gap is to have the test get the pid for the > process being stopped and then await until the process identified by that pid > no longer exists. > {code:java} > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest > > onlineStatusCommandShouldSucceedWhenConnected_locator_host_and_port FAILED > org.junit.ComparisonFailure: [Exit value from process started by > [test-frame: gfsh -e connect --locator=localhost[20608] -e status locator > --host=localhost --port=20608]] expected:<[0]> but was:<[1]> > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at > org.apache.geode.test.junit.rules.gfsh.GfshExecution.awaitTermination(GfshExecution.java:137) > at > org.apache.geode.test.junit.rules.gfsh.GfshRule.execute(GfshRule.java:128) > at > org.apache.geode.test.junit.rules.gfsh.GfshScript.execute(GfshScript.java:133) > at > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest.executeScriptWithExpectedExitCode(StatusLocatorExitCodeAcceptanceTest.java:255) > at > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest.onlineStatusCommandShouldSucceedWhenConnected_locator_host_and_port(StatusLocatorExitCodeAcceptanceTest.java:128) > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest > > offlineStatusCommandShouldSucceedWhenConnected_locator_dir FAILED > org.junit.ComparisonFailure: [Exit value from process started by > [test-frame: gfsh -e connect --locator=localhost[20608] -e status locator > --dir=/tmp/junit11722670533134972918/member-controller/locator-chase-obedient-cake]] > expected:<[0]> but was:<[1]> > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at > org.apache.geode.test.junit.rules.gfsh.GfshExecution.awaitTermination(GfshExecution.java:137) > at > org.apache.geode.test.junit.rules.gfsh.GfshRule.execute(GfshRule.java:128) > at > org.apache.geode.test.junit.rules.gfsh.GfshScript.execute(GfshScript.java:133) > at > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest.executeScriptWithExpectedExitCode(StatusLocatorExitCodeAcceptanceTest.java:255) > at > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest.offlineStatusCommandShouldSucceedWhenConnected_locator_dir(StatusLocatorExitCodeAcceptanceTest.java:140) > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest > > onlineStatusCommandShouldSucceedWhenConnected_locator_name FAILED > org.junit.ComparisonFailure: [Exit value from process started by > [test-frame: gfsh -e connect --locator=localhost[20608] -e status locator > --name=locator-chase-obedient-cake]] expected:<[0]> but was:<[1]> > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at > org.apache.geode.test.junit.rules.gfsh.GfshExecution.awaitTermination(GfshExecution.java:137) > at > org.apache.geode.test.junit.rules.gfsh.GfshRule.execute(GfshRule.java:128) > at > org.apache.geode.test.junit.rules.gfsh.GfshScript.execute(GfshScript.java:133) > at > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest.executeScriptWithExpectedExitCode(StatusLocatorExitCodeAcceptanceTest.java:255) > at > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest.onlineStatusCommandShouldSucceedWhenConnected_locator_name(StatusLocatorExitCodeAcceptanceTest.java:116) > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest > > onlineStatusCommandShouldSucceedWhenConnected_locator_port FAILED > org.junit.ComparisonFailure: [Exit value from process started by > [test-frame: gfsh -e connect --locator=localhost[20608] -e status locator > --port=20608]] expected:<[0]> but was:<[1]> > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at > org.apache.geode.test.junit.rules.gfsh.GfshExecution.awaitTermination(GfshExecution.java:137) > at > org.apache.geode.test.junit.rules.gfsh.GfshRule.execute(GfshRule.java:128) > at > org.apache.geode.test.junit.rules.gfsh.GfshScript.execute(GfshScript.java:133) > at > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest.executeScriptWithExpectedExitCode(StatusLocatorExitCodeAcceptanceTest.java:255) > at > org.apache.geode.management.internal.cli.shell.StatusLocatorExitCodeAcceptanceTest.onlineStatusCommandShouldSucceedWhenConnected_locator_port(StatusLocatorExitCodeAcceptanceTest.java:122) > {code} > {noformat} > org.apache.geode.modules.DeployJarAcceptanceTest > classMethod FAILED > org.junit.ComparisonFailure: [Exit value from process started by > [41497e8cf7689a63: gfsh -e start locator --name=locator -e configure pdx > --read-serialized=true -e start server --name=server > --locators=localhost[10334]]] expected:<[0]> but was:<[1]> > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at > org.apache.geode.test.junit.rules.gfsh.GfshExecution.awaitTermination(GfshExecution.java:103) > at > org.apache.geode.test.junit.rules.gfsh.GfshRule.execute(GfshRule.java:143) > at > org.apache.geode.test.junit.rules.gfsh.GfshRule.execute(GfshRule.java:152) > at > org.apache.geode.test.junit.rules.gfsh.GfshScript.execute(GfshScript.java:153) > at > org.apache.geode.modules.DeployJarAcceptanceTest.setup(DeployJarAcceptanceTest.java:62) > {noformat} -- This message was sent by Atlassian Jira (v8.20.7#820007)