[ 
https://issues.apache.org/jira/browse/SYNAPSE-661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12877053#action_12877053
 ] 

Hiranya Jayathilaka commented on SYNAPSE-661:
---------------------------------------------

How about using a ConcurrentLinkedQueue instead of ArrayList?

> ConcurrentModifucationException at StatisticsRecord
> ---------------------------------------------------
>
>                 Key: SYNAPSE-661
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-661
>             Project: Synapse
>          Issue Type: Bug
>    Affects Versions: 1.2
>            Reporter: Hiranya Jayathilaka
>            Assignee: indika priyantha kumara
>             Fix For: 2.0
>
>
> When running load tests (concurrency level > 15) with statistics enabled, 
> every now and then, I get the following exception:
> Exception in thread "Thread-20" java.util.ConcurrentModificationException
>       at 
> java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
>       at java.util.AbstractList$Itr.next(AbstractList.java:343)
>       at 
> org.apache.synapse.aspects.statistics.StatisticsRecord.getAllLogIds(StatisticsRecord.java:90)
>       at 
> org.apache.synapse.aspects.statistics.view.SystemViewStrategy.determineView(SystemViewStrategy.java:61)
> Here I also have some custom code which tries to get the latest stats from 
> Synapse periodically. When the custom code tries to access a 
> StatisticsRecord, if it also gets updated, the above error is thrown. I think 
> we should use a more thread safe data structure in the StatisticsRecord 
> class, instead of an ArrayList.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to