I have a test which starts a server and then starts a client. But the
client intermittently fails with NoSubscriptionServersAvailableException
(see full stack below).
Seems like there must be something asynchronous in the startup of a
CacheServer that I need to wait for. Any ideas what I need to test for to
avoid NoSubscriptionServersAvailableException?
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