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

Reply via email to