[ 
https://issues.apache.org/jira/browse/GEODE-5177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16469485#comment-16469485
 ] 

Kirk Lund commented on GEODE-5177:
----------------------------------

The fix for InitializedDiskRegionWithIoExceptionRegressionTest was to simply 
not use durable client queues. There's some async race down in QueueManagerImpl 
start which results in throwing NoSubscriptionServersAvailableException 
intermittently in tests that use durable client queues.

> InitializedDiskRegionWithIoExceptionRegressionTest fails intermittently with 
> NoSubscriptionServersAvailableException
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-5177
>                 URL: https://issues.apache.org/jira/browse/GEODE-5177
>             Project: Geode
>          Issue Type: Bug
>          Components: persistence, tests
>            Reporter: Kirk Lund
>            Assignee: Kirk Lund
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.7.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> InitializedDiskRegionWithIoExceptionRegressionTest intermittently fails with 
> NoSubscriptionServersAvailableException (see other bugs filed for other tests 
> with the same symptom). There seems to be something asynchronous down in 
> QueueManagerImpl which causes this.
> {noformat}
> org.apache.geode.internal.cache.InitializedDiskRegionWithIoExceptionRegressionTest
>  > cacheServerPersistWithIOExceptionShouldShutdown FAILED
>     org.apache.geode.test.dunit.RMIException: While invoking 
> org.apache.geode.internal.cache.InitializedDiskRegionWithIoExceptionRegressionTest$$Lambda$23/1222369873.run
>  in VM 1 running on Host 0b1780a0efc9 with 4 VMs
>         at org.apache.geode.test.dunit.VM.invoke(VM.java:436)
>         at org.apache.geode.test.dunit.VM.invoke(VM.java:405)
>         at org.apache.geode.test.dunit.VM.invoke(VM.java:348)
>         at 
> org.apache.geode.internal.cache.InitializedDiskRegionWithIoExceptionRegressionTest.cacheServerPersistWithIOExceptionShouldShutdown(InitializedDiskRegionWithIoExceptionRegressionTest.java:113)
> Caused by:
> org.apache.geode.cache.NoSubscriptionServersAvailableException: 
> org.apache.geode.cache.NoSubscriptionServersAvailableException: Could not 
> initialize a primary queue on startup. No queue servers available.
>     at 
> org.apache.geode.cache.client.internal.QueueManagerImpl.getAllConnections(QueueManagerImpl.java:187)
>     at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.executeOnQueuesAndReturnPrimaryResult(OpExecutorImpl.java:539)
>     at 
> org.apache.geode.cache.client.internal.PoolImpl.executeOnQueuesAndReturnPrimaryResult(PoolImpl.java:850)
>     at 
> org.apache.geode.cache.client.internal.RegisterInterestOp.execute(RegisterInterestOp.java:58)
>     at 
> org.apache.geode.cache.client.internal.ServerRegionProxy.registerInterest(ServerRegionProxy.java:356)
>     at 
> org.apache.geode.internal.cache.LocalRegion.processSingleInterest(LocalRegion.java:3749)
>     at 
> org.apache.geode.internal.cache.LocalRegion.registerInterest(LocalRegion.java:3840)
>     at 
> org.apache.geode.internal.cache.LocalRegion.registerInterest(LocalRegion.java:3638)
>     at 
> org.apache.geode.internal.cache.LocalRegion.registerInterest(LocalRegion.java:3633)
>     at 
> org.apache.geode.internal.cache.LocalRegion.registerInterest(LocalRegion.java:3628)
>     at 
> org.apache.geode.internal.cache.InitializedDiskRegionWithIoExceptionRegressionTest.createClientCache(InitializedDiskRegionWithIoExceptionRegressionTest.java:172)
>     at 
> org.apache.geode.internal.cache.InitializedDiskRegionWithIoExceptionRegressionTest.lambda$cacheServerPersistWithIOExceptionShouldShutdown$2c6907a2$1(InitializedDiskRegionWithIoExceptionRegressionTest.java:113)
> Caused by:
> org.apache.geode.cache.NoSubscriptionServersAvailableException: Could not 
> initialize a primary queue on startup. No queue servers available.
>     at 
> org.apache.geode.cache.client.internal.QueueManagerImpl.initializeConnections(QueueManagerImpl.java:585)
>     at 
> org.apache.geode.cache.client.internal.QueueManagerImpl.start(QueueManagerImpl.java:296)
>     at 
> org.apache.geode.cache.client.internal.PoolImpl.start(PoolImpl.java:347)
>     at 
> org.apache.geode.cache.client.internal.PoolImpl.finishCreate(PoolImpl.java:172)
>     at 
> org.apache.geode.cache.client.internal.PoolImpl.create(PoolImpl.java:158)
>     at 
> org.apache.geode.internal.cache.PoolFactoryImpl.create(PoolFactoryImpl.java:346)
>     at 
> org.apache.geode.internal.cache.InitializedDiskRegionWithIoExceptionRegressionTest.createClientCache(InitializedDiskRegionWithIoExceptionRegressionTest.java:164)
>     ... 1 more
> {noformat}
> Fortunately, InitializedDiskRegionWithIoExceptionRegressionTest does NOT need 
> to use subscription queues so this can easily be fixed by removing the use of 
> subscription queues from this test.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to