[ https://issues.apache.org/jira/browse/GEODE-2141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15706173#comment-15706173 ]
ASF GitHub Bot commented on GEODE-2141: --------------------------------------- Github user upthewaterspout commented on a diff in the pull request: https://github.com/apache/incubator-geode/pull/299#discussion_r90078053 --- Diff: geode-core/src/main/java/org/apache/geode/internal/statistics/StatMonitorHandler.java --- @@ -138,8 +127,8 @@ public void allocatedResourceInstance(ResourceInstance resourceInstance) {} public void destroyedResourceInstance(ResourceInstance resourceInstance) {} /** For testing only */ - List<StatisticsMonitor> getMonitorsSnapshot() { - return Collections.unmodifiableList(this.monitors); + ConcurrentHashSet<StatisticsMonitor> getMonitorsSnapshot() { --- End diff -- Maybe this ought to just return a Collection? > StatisticsMonitor and StatMonitorHandler should use ConcurrentHashSet to > store monitors, listeners and statisticIds > ------------------------------------------------------------------------------------------------------------------- > > Key: GEODE-2141 > URL: https://issues.apache.org/jira/browse/GEODE-2141 > Project: Geode > Issue Type: Improvement > Reporter: Avinash Dongre > Assignee: Avinash Dongre > > In StatisticsMonitor and StatMonitorHandler List is used to store monitors, > listeners and statisticIds. > We should be using ConcurrentHashSet for performance Reason. > In my local testing When I replace the List to > com.gemstone.gemfire.internal.concurrent. > ConcurrentHashSet > I see significant improvement in creating large number of region creation. > ( from ~7hrs to ~26 minutes) > More details about the same is on dev list. > Refer : http://markmail.org/message/o7td3fczylx4uaet -- This message was sent by Atlassian JIRA (v6.3.4#6332)