[jboss-jira] [JBoss JIRA] (WFLY-12970) SmallRye Metrics - MetricsRegistryImpl - removal of entry from map which is currently iterated

Rostislav Svoboda (Jira) issues at jboss.org
Wed Jan 15 08:09:49 EST 2020


     [ https://issues.redhat.com/browse/WFLY-12970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rostislav Svoboda moved WFWIP-131 to WFLY-12970:
------------------------------------------------

        Project: WildFly  (was: WildFly WIP)
            Key: WFLY-12970  (was: WFWIP-131)
    Component/s: MP Metrics
                     (was: MP Metrics)


> SmallRye Metrics - MetricsRegistryImpl - removal of entry from map which is currently iterated
> ----------------------------------------------------------------------------------------------
>
>                 Key: WFLY-12970
>                 URL: https://issues.redhat.com/browse/WFLY-12970
>             Project: WildFly
>          Issue Type: Bug
>          Components: MP Metrics
>            Reporter: Rostislav Svoboda
>            Assignee: Jeff Mesnil
>            Priority: Major
>
> SmallRye Metrics - MetricsRegistryImpl - removal of entry from map which is currently iterated
> https://github.com/smallrye/smallrye-metrics/blob/master/implementation/src/main/java/io/smallrye/metrics/MetricsRegistryImpl.java#L266
> Method {{removeMatching}} is iterating over {{metricMap}}. If there is a match {{remove}} method is called. This method removes entry from {{metricMap}} and from {{metadataMap}}.
> I don't like the fact that the entry is removed from the map by external method while the map is currently iterated by the {{removeMatching}} method.
> I think https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html#remove-- should be called in {{removeMatching}} for {{metricMap}} entry + invocation of metadataMap.remove(entry.getKey()) + log mesasge;



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list