Donal Evans created GEODE-10222:
-----------------------------------
Summary: Null memberID in GII of persistent region with concurrent
region destroy causes AssertionError
Key: GEODE-10222
URL: https://issues.apache.org/jira/browse/GEODE-10222
Project: Geode
Issue Type: Bug
Affects Versions: 1.15.0
Reporter: Donal Evans
The below stack trace was observed while concurrent region creates and destroys
were being performed on a persistent replicated region:
{noformat}
java.lang.AssertionError: Member id should not be null for persistent version
tags
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.internal.cache.versions.DiskVersionTag.replaceNullIDs(DiskVersionTag.java:47)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.internal.cache.InitialImageOperation.processChunk(InitialImageOperation.java:975)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.internal.cache.InitialImageOperation$ImageProcessor.process(InitialImageOperation.java:1312)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.distributed.internal.ReplyMessage.process(ReplyMessage.java:214)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.internal.cache.InitialImageOperation$ImageReplyMessage.process(InitialImageOperation.java:2858)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.distributed.internal.ReplyMessage.dmProcess(ReplyMessage.java:197)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.distributed.internal.ReplyMessage.process(ReplyMessage.java:190)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:441)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:444)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.distributed.internal.ClusterOperationExecutors.doHighPriorityThread(ClusterOperationExecutors.java:402)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:120)
at Remote Member 'localhost(server2:13075)<ec><v2>:41003' in
java.lang.Thread.run(Thread.java:748)
at
org.apache.geode.distributed.internal.ReplyException.handleCause(ReplyException.java:90)
at
org.apache.geode.internal.cache.InitialImageOperation.getFromOne(InitialImageOperation.java:562)
at
org.apache.geode.internal.cache.DistributedRegion.getInitialImageAndRecovery(DistributedRegion.java:1249)
at
org.apache.geode.internal.cache.DistributedRegion.initialize(DistributedRegion.java:1095)
at
org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3108)
at
org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:3002)
at
org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:2986){noformat}
The {{AssertionError}} thrown by {{DiskVersionTag.replaceNullIDs()}} is not
handled by any of the calling methods, which leads to the GII failing without
attempting to retry, and does not decrement the getInitialImagesInProgress stat.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)