You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Julien Nioche (Jira)" <ji...@apache.org> on 2023/08/08 14:07:00 UTC

[jira] [Resolved] (STORM-3944) ConcurrentModificationException in MultiCountMetric

     [ https://issues.apache.org/jira/browse/STORM-3944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julien Nioche resolved STORM-3944.
----------------------------------
    Resolution: Fixed

> ConcurrentModificationException  in MultiCountMetric
> ----------------------------------------------------
>
>                 Key: STORM-3944
>                 URL: https://issues.apache.org/jira/browse/STORM-3944
>             Project: Apache Storm
>          Issue Type: Bug
>    Affects Versions: 2.5.0
>            Reporter: Julien Nioche
>            Priority: Major
>             Fix For: 2.6
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Came across the following exception 
> {code:java}
> 022-07-15 09:57:16.851 o.a.s.e.e.ReportError Thread-43-fetcher-executor[15, 15] [ERROR] Error
> java.lang.RuntimeException: java.lang.RuntimeException: java.util.ConcurrentModificationException
> 	at org.apache.storm.utils.Utils$1.run(Utils.java:411) ~[storm-client-2.4.0.jar:2.4.0]
> 	at java.lang.Thread.run(Thread.java:829) [?:?]
> Caused by: java.lang.RuntimeException: java.util.ConcurrentModificationException
> 	at org.apache.storm.executor.Executor.accept(Executor.java:301) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.utils.JCQueue.consumeImpl(JCQueue.java:113) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.utils.JCQueue.consume(JCQueue.java:89) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:154) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:140) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.utils.Utils$1.run(Utils.java:396) ~[storm-client-2.4.0.jar:2.4.0]
> 	... 1 more
> Caused by: java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1511) ~[?:?]
> 	at java.util.HashMap$EntryIterator.next(HashMap.java:1544) ~[?:?]
> 	at java.util.HashMap$EntryIterator.next(HashMap.java:1542) ~[?:?]
> 	at org.apache.storm.metric.api.MultiCountMetric.getValueAndReset(MultiCountMetric.java:35) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.metric.api.MultiCountMetric.getValueAndReset(MultiCountMetric.java:18) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.executor.Executor.metricsTick(Executor.java:339) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.executor.bolt.BoltExecutor.tupleActionFn(BoltExecutor.java:200) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.executor.Executor.accept(Executor.java:297) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.utils.JCQueue.consumeImpl(JCQueue.java:113) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.utils.JCQueue.consume(JCQueue.java:89) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:154) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:140) ~[storm-client-2.4.0.jar:2.4.0]
> 	at org.apache.storm.utils.Utils$1.run(Utils.java:396) ~[storm-client-2.4.0.jar:2.4.0]
> 	... 1 more
> {code}
> Seems to be a straightforward case of one thread modifying the MultiCountMetric while another one is calling getValueAndReset.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)