[ https://issues.apache.org/jira/browse/GEODE-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Darrel Schneider updated GEODE-2676: ------------------------------------ Component/s: management > RegionMBean statistics wrong on partitioned regions > --------------------------------------------------- > > Key: GEODE-2676 > URL: https://issues.apache.org/jira/browse/GEODE-2676 > Project: Geode > Issue Type: Bug > Components: management > Reporter: Fred Krone > Priority: Minor > Labels: jmx > > RegionMBean attributes hitCount, hitRatio, missCount, lastAccessedTime, and > lastModifiedTime will always be 0 for an mbean that represents an partitioned > region. > The gettors for these methods may call getStatistics() which on a PR always > throws UnsupportedOperationException. So this exception might even get > exposed to customers. > The initialization of RegionMBeanBridge calls getStatisticsEnabled() which > returns true on a PartitionedRegion. This does have meaning on a PR but it > does not mean that getStatistics() is a supported operation. On a PR setting > statistics-enabled causes each region-entry to also keep track of its last > access time. > It is true that if getStatisticsEnabled() is false then you should not call > getStatistics. But the opposite is not true. Since we currently have regions > that do not support getStatistics(), the code in RegionMBeanBridge should > catch UnsupportedOperationException and handle it. I would suggest that the > constructor be changed that initializes the "isStatisticsEnabled" field. > Instead of only calling getStatisticsEnabled() it should also call > getStatistics(). Something like this: > {noformat} > { > boolean useGetStatistics = regAttrs.getStatisticsEnabled(); > if (useGetStatistics) { > try { > region.getStatistics(); > } catch (UnsupportedOperationException ex) { > useGetStatistics = false; > } > } > this.isStatisticsEnabled = useGetStatistics; > } > {noformat} > That way in a future release if PRs are changed to support getStatistics this > code will start calling it without having a direct dependency on the > implementation of PartitionedRegion. > https://issues.apache.org/jira/browse/GEODE-2685 is a request to support > getStatistics on PRs. -- This message was sent by Atlassian JIRA (v6.3.15#6346)