Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-10328

Cache close with partitioned regions does not close all the region's statistics

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      I noticed when looking at hprof memory dumps of a JVM whose cache had been closed that something was keeping the PartitionedRegion instances from being garbage collected. It turns out that the region's RegionPerfStats instance was not closed. Other stats for the region were closed but not the one owned by PartitionedRegionDataStore's bucketStats instance variable. This indicates that the PartitionedRegionDataStore.cleanUp method is not being called.
      It looks like the bug is in: PartitionedRegion.postDestroyRegion. It has a code path that handles Operation.CACHE_CLOSE and Operation.FORCED_DISCONNECT without calling "closePartitionedRegion" which invokes "dataStore.cleanup".
      This buggy code path has its reasons for not calling closePartitionedRegion. To fix this bug it would be easy and safe to have this code path call dataStore.getCachePerfStats().close()

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            dschneider Darrel Schneider
            dschneider Darrel Schneider
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment