You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Owen Nichols (Jira)" <ji...@apache.org> on 2022/06/22 20:46:01 UTC
[jira] [Closed] (GEODE-9407) RegionDestroyedException while executing GetMemberInformationFunction
[ https://issues.apache.org/jira/browse/GEODE-9407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Owen Nichols closed GEODE-9407.
-------------------------------
> RegionDestroyedException while executing GetMemberInformationFunction
> ---------------------------------------------------------------------
>
> Key: GEODE-9407
> URL: https://issues.apache.org/jira/browse/GEODE-9407
> Project: Geode
> Issue Type: Bug
> Components: gfsh, management
> Reporter: Aaron Lindsey
> Assignee: Aaron Lindsey
> Priority: Minor
> Labels: pull-request-available
> Fix For: 1.15.0
>
>
> GetMemberInformationFunction is used by the gfsh "describe member" command, the management REST API "/members" endpoint, and is also used internally within Geode. If this function is invoked while concurrently destroying a region, it may throw RegionDestroyedException while trying to gather information about the destroyed region's subregions.
>
> This bug manifests as a nasty error message in the logs of the member where the function was being executed (shown below). This confuses Geode users/developers/operators because it looks like a problem with the system while instead it's actually expected behavior. GetMemberInformationFunction should probably catch RegionDestroyedException and remove the destroyed region from the set of region names in ManagementUtils.getAllRegionNames.
>
> {code:java}
> [error 2021/06/29 23:01:38.640 GMT system-test-gemfire-server-0 <Function Execution Processor3> tid=0x94] Unable to gather runtime information on this member.
> org.apache.geode.cache.RegionDestroyedException: Partitioned Region @79f60edb [path='/region'; dataPolicy=PARTITION; prId=37; isDestroyed=true; isClosed=false; retryTimeout=3600000; serialNumber=4309; partition attributes=PartitionAttributes@1299510666[redundantCopies=2;localMaxMemory=594;totalMaxMemory=2147483647;totalNumBuckets=113;partitionResolver=null;colocatedWith=null;recoveryDelay=-1;startupRecoveryDelay=0;FixedPartitionAttributes=null;partitionListeners=null]; on VM system-test-gemfire-server-0(system-test-gemfire-server-0:1)<v3>:41000]
> at org.apache.geode.internal.cache.LocalRegion.checkRegionDestroyed(LocalRegion.java:7342)
> at org.apache.geode.internal.cache.LocalRegion.checkReadiness(LocalRegion.java:2757)
> at org.apache.geode.internal.cache.LocalRegion.subregions(LocalRegion.java:1908)
> at org.apache.geode.management.internal.util.ManagementUtils.getAllRegionNames(ManagementUtils.java:167)
> at org.apache.geode.management.internal.functions.GetMemberInformationFunction.getMemberInformation(GetMemberInformationFunction.java:131)
> at org.apache.geode.management.internal.configuration.realizers.MemberRealizer.get(MemberRealizer.java:52)
> at org.apache.geode.management.internal.configuration.realizers.MemberRealizer.get(MemberRealizer.java:35)
> at org.apache.geode.management.internal.functions.CacheRealizationFunction.executeGet(CacheRealizationFunction.java:136)
> at org.apache.geode.management.internal.functions.CacheRealizationFunction.execute(CacheRealizationFunction.java:92)
> at org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:201)
> at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376)
> at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:441)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:444)
> at org.apache.geode.distributed.internal.ClusterOperationExecutors.doFunctionExecutionThread(ClusterOperationExecutors.java:379)
> at org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:120)
> at java.base/java.lang.Thread.run(Thread.java:829){code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)