Bruce Schuchardt created GEODE-6318:
---------------------------------------
Summary: Cluster configuration service is not stopped when locator
is stopped
Key: GEODE-6318
URL: https://issues.apache.org/jira/browse/GEODE-6318
Project: Geode
Issue Type: Bug
Components: management
Reporter: Bruce Schuchardt
I noticed this exception being thrown in a Locator that was auto-reconnecting
in the test
ClusterConfigLocatorRestartDUnitTest.serverRestartsAfterLocatorReconnects
{noformat}
[vm0] [warn 2019/01/24 09:03:00.467 PST <Function Execution Processor2>
tid=0x347] Unable to retrieve the cluster configuration
[vm0] org.apache.geode.distributed.LockServiceDestroyedException:
<DLockService@1d7f6b25 named __CLUSTER_CONFIG_LS destroyed=true grantorId=null
grantor=null> has been destroyed
[vm0] at
org.apache.geode.distributed.internal.locks.DLockService.generateLockServiceDestroyedException(DLockService.java:203)
[vm0] at
org.apache.geode.distributed.internal.locks.DLockService.checkDestroyed(DLockService.java:192)
[vm0] at
org.apache.geode.distributed.internal.locks.DLockService.lock(DLockService.java:1236)
[vm0] at
org.apache.geode.distributed.internal.locks.DLockService.lock(DLockService.java:1230)
[vm0] at
org.apache.geode.distributed.internal.locks.DLockService.lock(DLockService.java:1225)
[vm0] at
org.apache.geode.distributed.internal.locks.DLockService.lock(DLockService.java:1221)
[vm0] at
org.apache.geode.distributed.internal.InternalConfigurationPersistenceService.lockSharedConfiguration(InternalConfigurationPersistenceService.java:823)
[vm0] at
org.apache.geode.distributed.internal.InternalConfigurationPersistenceService.createConfigurationResponse(InternalConfigurationPersistenceService.java:627)
[vm0] at
org.apache.geode.management.internal.configuration.functions.GetClusterConfigurationFunction.execute(GetClusterConfigurationFunction.java:53)
[vm0] at
org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:193)
[vm0] at
org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:367)
[vm0] at
org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:433)
[vm0] at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[vm0] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[vm0] at
org.apache.geode.distributed.internal.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:956)
[vm0] at
org.apache.geode.distributed.internal.ClusterDistributionManager.doFunctionExecutionThread(ClusterDistributionManager.java:810)
[vm0] at
org.apache.geode.internal.logging.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:121)
[vm0] at java.lang.Thread.run(Thread.java:748)
{noformat}
It looks like the cluster configuration service is not stopped when the
Locator disconnects in preparation for an auto-reconnect. When the Locator
finally reopens its location services there is a window of time where it can
receive a request for the cluster configuration and it uses the old service,
running into this LockServiceDestroyedException. When the auto-reconnect
completes the problem is healed because the auto-reconnect code creates a new
service.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)