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)