[ 
https://issues.apache.org/jira/browse/ARTEMIS-2095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16629266#comment-16629266
 ] 

ASF subversion and git services commented on ARTEMIS-2095:
----------------------------------------------------------

Commit 8e40b2d4f4f242271d3dfcda4f9b96d3f94cee1b in activemq-artemis's branch 
refs/heads/master from [~teaandcoffee]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=8e40b2d ]

ARTEMIS-2095 - Typed Properties ThreadSafety

Add Concurrency Test to expose concurrency errors seen in logs.
Add Fix to ensure TypedProperties to ensure threadsafety
Add forEach and forEachKey to allow for provide a thread safe way of iterating 
through keys and values, without needing to duplicate the collection.
Add getMapNames method to remove code duplication and to ensure thread safe


> TypedProperties thread safety
> -----------------------------
>
>                 Key: ARTEMIS-2095
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2095
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Michael Andre Pearce
>            Assignee: Michael Andre Pearce
>            Priority: Major
>
> Whilst TypedProperties is meant to have a single thread acting on it (and 
> this is the most typical interaction), there are occurrences where, it can be 
> acted on by other threads, when this occurs some concurrent modification 
> errors can occur.
> As such TypedProperties must be thread safe, but concurrency tuning should 
> factor in to be most performant for single thread.
>  
> e.g. 
> 2018-09-24 15:01:27,751 WARN 
> [org.apache.activemq.artemis.core.message.impl.CoreMessage] Error creating 
> String for message: : java.util.ConcurrentModificationException at 
> java.util.HashMap$HashIterator.nextNode(HashMap.java:1437) [rt.jar:1.8.0_102] 
> at java.util.HashMap$EntryIterator.next(HashMap.java:1471) [rt.jar:1.8.0_102] 
> at java.util.HashMap$EntryIterator.next(HashMap.java:1469) [rt.jar:1.8.0_102] 
> at 
> org.apache.activemq.artemis.utils.collections.TypedProperties.toString(TypedProperties.java:464)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to