[
https://issues.apache.org/jira/browse/GEODE-9491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17396850#comment-17396850
]
ASF subversion and git services commented on GEODE-9491:
--------------------------------------------------------
Commit b0a478353f5f131d2f45cb6c75c88c2fe162e2c5 in geode's branch
refs/heads/develop from Dale Emery
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=b0a4783 ]
GEODE-9491: Fix REST API test use of ephemeral ports (#6751)
PROBLEM
A `RestAPICompatibilityTest` backward compatibility test assumed that
two ephemeral ports would remain available while not in use. The test:
1. Launched two locators, each on an ephemeral port.
2. Stopped each locator.
3. Restarted each locator on its original (ephemeral) port.
In between steps 2 and 3, some other process can bind to the port,
causing the restart to fail.
SOLUTION
Change the test to assign a non-ephemeral port to each locator.
> CI Failure: RestAPICompatibilityTest >
> restCommandExecutedOnLatestLocatorShouldBeBackwardsCompatible[1.12.3]
> ------------------------------------------------------------------------------------------------------------
>
> Key: GEODE-9491
> URL: https://issues.apache.org/jira/browse/GEODE-9491
> Project: Geode
> Issue Type: Test
> Components: tests
> Reporter: Jens Deppe
> Assignee: Dale Emery
> Priority: Major
> Labels: GeodeOperationAPI, pull-request-available
>
> https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/upgrade-test-openjdk11/builds/106
> {noformat}
> RestAPICompatibilityTest >
> restCommandExecutedOnLatestLocatorShouldBeBackwardsCompatible[1.12.3] FAILED
> org.apache.geode.test.dunit.RMIException: While invoking
> org.apache.geode.test.dunit.internal.IdentifiableCallable.call in VM 0
> running on Host
> heavy-lifter-44b13792-c082-5b9d-ace9-2ea1cd66e751.c.apachegeode-ci.internal
> with 4 VMs
> at org.apache.geode.test.dunit.VM.executeMethodOnObject(VM.java:631)
> at org.apache.geode.test.dunit.VM.invoke(VM.java:461)
> at
> org.apache.geode.test.dunit.rules.ClusterStartupRule.startLocatorVM(ClusterStartupRule.java:227)
> at
> org.apache.geode.test.dunit.rules.ClusterStartupRule.startLocatorVM(ClusterStartupRule.java:219)
> at
> org.apache.geode.rest.internal.web.controllers.RestAPICompatibilityTest.restCommandExecutedOnLatestLocatorShouldBeBackwardsCompatible(RestAPICompatibilityTest.java:120)
> Caused by:
> java.io.UncheckedIOException: java.net.BindException: Failed to
> create server socket on 10.0.0.91[33337]
> at
> org.apache.geode.test.junit.rules.LocatorStarterRule.startLocator(LocatorStarterRule.java:95)
> at
> org.apache.geode.test.junit.rules.LocatorStarterRule.before(LocatorStarterRule.java:74)
> at
> org.apache.geode.test.dunit.rules.ClusterStartupRule.lambda$startLocatorVM$a061f02f$1(ClusterStartupRule.java:238)
> at
> org.apache.geode.test.dunit.internal.IdentifiableCallable.call(IdentifiableCallable.java:41)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:566)
> at
> org.apache.geode.test.dunit.internal.MethodInvoker.executeObject(MethodInvoker.java:123)
> at
> org.apache.geode.test.dunit.internal.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:78)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:566)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
> at sun.rmi.transport.Transport$1.run(Transport.java:200)
> at sun.rmi.transport.Transport$1.run(Transport.java:197)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.lang.Thread.run(Thread.java:829)
> Caused by:
> java.net.BindException: Failed to create server socket on
> 10.0.0.91[33337]
> at
> org.apache.geode.distributed.internal.tcpserver.ClusterSocketCreatorImpl.createServerSocket(ClusterSocketCreatorImpl.java:75)
> at
> org.apache.geode.internal.net.SCClusterSocketCreator.createServerSocket(SCClusterSocketCreator.java:55)
> at
> org.apache.geode.distributed.internal.tcpserver.ClusterSocketCreatorImpl.createServerSocket(ClusterSocketCreatorImpl.java:48)
> at
> org.apache.geode.distributed.internal.tcpserver.TcpServer.initializeServerSocket(TcpServer.java:193)
> at
> org.apache.geode.distributed.internal.tcpserver.TcpServer.startServerThread(TcpServer.java:183)
> at
> org.apache.geode.distributed.internal.tcpserver.TcpServer.start(TcpServer.java:178)
> at
> org.apache.geode.distributed.internal.membership.gms.locator.MembershipLocatorImpl.start(MembershipLocatorImpl.java:112)
> at
> org.apache.geode.distributed.internal.InternalLocator.startPeerLocation(InternalLocator.java:653)
> at
> org.apache.geode.distributed.internal.InternalLocator.startLocator(InternalLocator.java:394)
> at
> org.apache.geode.distributed.internal.InternalLocator.startLocator(InternalLocator.java:345)
> at
> org.apache.geode.distributed.Locator.startLocator(Locator.java:261)
> at
> org.apache.geode.distributed.Locator.startLocatorAndDS(Locator.java:143)
> at
> org.apache.geode.test.junit.rules.LocatorStarterRule.startLocator(LocatorStarterRule.java:93)
> ... 26 more
> Caused by:
> java.net.BindException: Address already in use (Bind failed)
> at java.net.PlainSocketImpl.socketBind(Native Method)
> at
> java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:436)
> at java.net.ServerSocket.bind(ServerSocket.java:395)
> at
> org.apache.geode.distributed.internal.tcpserver.ClusterSocketCreatorImpl.createServerSocket(ClusterSocketCreatorImpl.java:72)
> ... 38 more
> {noformat}
> {noformat}
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-= Test Results URI
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0394/test-results/upgradeTest/1628210227/
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> Test report artifacts from this job are available at:
> http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0394/test-artifacts/1628210227/upgradetestfiles-openjdk11-1.15.0-build.0394.tgz
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)