[
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)