[ 
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)

Reply via email to