[ https://issues.apache.org/jira/browse/GEODE-6919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16872791#comment-16872791 ]
Shelley Lynn Hughes-Godfrey commented on GEODE-6919: ---------------------------------------------------- This looks like a fairly simple test ... The controller vm is the server ... which creates a PR region "region1" with a SleepyCacheWriter() ... basically it sets a field to say it has started ... then waits to be told to stop. The client creates a PROXY of the same region and does a single put. We expect this to invoke the cacheWriter in the server, but it looks like the client put fails: {noformat} [vm0] [info 2019/06/25 21:20:48.591 GMT <RMI TCP Connection(1)-172.17.0.19> tid=0x20] Got result: EXCEPTION_OCCURRED [vm0] org.apache.geode.cache.client.AllConnectionsInUseException [vm0] at org.apache.geode.cache.client.internal.pooling.ConnectionManagerImpl.borrowConnection(ConnectionManagerImpl.java:297) [vm0] at org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:125) [vm0] at org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:108) [vm0] at org.apache.geode.cache.client.internal.PoolImpl.execute(PoolImpl.java:770) [vm0] at org.apache.geode.cache.client.internal.PutOp.execute(PutOp.java:89) [vm0] at org.apache.geode.cache.client.internal.ServerRegionProxy.put(ServerRegionProxy.java:156) [vm0] at org.apache.geode.internal.cache.LocalRegion.serverPut(LocalRegion.java:3024) [vm0] at org.apache.geode.internal.cache.LocalRegion.cacheWriteBeforePut(LocalRegion.java:3141) [vm0] at org.apache.geode.internal.cache.ProxyRegionMap.basicPut(ProxyRegionMap.java:238) [vm0] at org.apache.geode.internal.cache.LocalRegion.virtualPut(LocalRegion.java:5572) [vm0] at org.apache.geode.internal.cache.LocalRegionDataView.putEntry(LocalRegionDataView.java:162) [vm0] at org.apache.geode.internal.cache.LocalRegion.basicPut(LocalRegion.java:5031) [vm0] at org.apache.geode.internal.cache.LocalRegion.validatedPut(LocalRegion.java:1623) [vm0] at org.apache.geode.internal.cache.LocalRegion.put(LocalRegion.java:1610) [vm0] at org.apache.geode.internal.cache.AbstractRegion.put(AbstractRegion.java:429) [vm0] at org.apache.geode.internal.cache.tier.sockets.AcceptorImplDUnitTest.lambda$testAcceptorImplCloseCleansUpWithHangingConnection$b2a1707f$1(AcceptorImplDUnitTest.java:178) [vm0] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [vm0] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [vm0] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [vm0] at java.lang.reflect.Method.invoke(Method.java:498) [vm0] at org.apache.geode.test.dunit.internal.MethodInvoker.executeObject(MethodInvoker.java:123) [vm0] at org.apache.geode.test.dunit.internal.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:69) [vm0] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [vm0] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [vm0] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [vm0] at java.lang.reflect.Method.invoke(Method.java:498) [vm0] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) [vm0] at sun.rmi.transport.Transport$1.run(Transport.java:200) [vm0] at sun.rmi.transport.Transport$1.run(Transport.java:197) [vm0] at java.security.AccessController.doPrivileged(Native Method) [vm0] at sun.rmi.transport.Transport.serviceCall(Transport.java:196) [vm0] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573) [vm0] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834) [vm0] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688) [vm0] at java.security.AccessController.doPrivileged(Native Method) [vm0] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687) [vm0] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [vm0] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [vm0] at java.lang.Thread.run(Thread.java:748) [vm0] from org.apache.geode.internal.cache.tier.sockets.AcceptorImplDUnitTest$$Lambda$17/148174679.run with 0 args on object: org.apache.geode.internal.cache.tier.sockets.AcceptorImplDUnitTest$$Lambda$17/148174679@167c163b (took 6118 ms) {noformat} Perhaps there are still connections waiting from a previously run test: {noformat} Previously run tests: [AcceptorImplDUnitTest.testAcceptorImplCloseCleansUp] {noformat} > CI Failure: > org.apache.geode.internal.cache.tier.sockets.AcceptorImplDUnitTest > > testAcceptorImplCloseCleansUpWithHangingConnection FAILED > ------------------------------------------------------------------------------------------------------------------------------------------ > > Key: GEODE-6919 > URL: https://issues.apache.org/jira/browse/GEODE-6919 > Project: Geode > Issue Type: Bug > Components: client/server > Affects Versions: 1.10.0 > Reporter: Shelley Lynn Hughes-Godfrey > Priority: Major > > This failure occurred in CI: > https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/DistributedTestOpenJDK8/builds/837 > {noformat} > org.apache.geode.internal.cache.tier.sockets.AcceptorImplDUnitTest > > testAcceptorImplCloseCleansUpWithHangingConnection FAILED > org.awaitility.core.ConditionTimeoutException: Condition with alias > 'Cache writer starts' didn't complete within 300 seconds because condition > with lambda expression in > org.apache.geode.internal.cache.tier.sockets.AcceptorImplDUnitTest that uses > org.apache.geode.internal.cache.tier.sockets.AcceptorImplDUnitTest$SleepyCacheWriter > was not fulfilled. > at > org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:145) > at > org.awaitility.core.CallableCondition.await(CallableCondition.java:79) > at > org.awaitility.core.CallableCondition.await(CallableCondition.java:27) > at > org.awaitility.core.ConditionFactory.until(ConditionFactory.java:902) > at > org.awaitility.core.ConditionFactory.until(ConditionFactory.java:860) > at > org.apache.geode.internal.cache.tier.sockets.AcceptorImplDUnitTest.testAcceptorImplCloseCleansUpWithHangingConnection(AcceptorImplDUnitTest.java:182) > {noformat} > Artifacts are available here: > {noformat} > =-=-=-=-=-=-=-=-=-=-=-=-=-=-= Test Results URI > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > http://files.apachegeode-ci.info/builds/apache-develop-main/1.10.0-SNAPSHOT.0403/test-results/distributedTest/1561499094/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Test report artifacts from this job are available at: > http://files.apachegeode-ci.info/builds/apache-develop-main/1.10.0-SNAPSHOT.0403/test-artifacts/1561499094/distributedtestfiles-OpenJDK8-1.10.0-SNAPSHOT.0403.tgz > {noformat} > Test description: > {noformat} > /** > * GEODE-2324. There was a bug where, due to an uncaught exception, > `AcceptorImpl.close()` was > * short-circuiting and failing to clean up properly. > * > * What this test does is start a Cache and hook the Acceptor to interrupt > the thread before the > * place where an InterruptedException could be thrown. It interrupts the > thread, and checks that > * the thread has terminated normally without short-circuiting. It doesn't > check that every part > * of the AcceptorImpl has shut down properly -- that seems both difficult > to check (especially > * since the fields are private) and implementation-dependent. > */ > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)