[jira] [Commented] (ARIES-1941) Thread unsafe iteration of thread-safe MultiMap by TopologyManagerImport

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (ARIES-1941) Thread unsafe iteration of thread-safe MultiMap by TopologyManagerImport

ASF subversion and git services (Jira)

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

ASF subversion and git services commented on ARIES-1941:
--------------------------------------------------------

Commit c73cd3764676e4234ef0d00339cea45afe0df754 in aries-rsa's branch refs/heads/master from Arnoud Glimmerveen
[ https://gitbox.apache.org/repos/asf?p=aries-rsa.git;h=c73cd37 ]

Two inconsistency introduced with ARIES-1941: (#34)

1) The copy of the keySet was incorrectly removed by 927d0b3, and is needed regardless of the external methods being thread-safe.
2) Clear method of MultiMap must use the same mutex as the other public methods.

> Thread unsafe iteration of thread-safe MultiMap by TopologyManagerImport
> ------------------------------------------------------------------------
>
>                 Key: ARIES-1941
>                 URL: https://issues.apache.org/jira/browse/ARIES-1941
>             Project: Aries
>          Issue Type: Bug
>          Components: Remote Service Admin
>    Affects Versions: rsa-1.14.0
>            Reporter: Arnoud Glimmerveen
>            Assignee: Christian Schneider
>            Priority: Major
>             Fix For: rsa-1.15.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> The TopologyMangerImport class uses the MultiMap (Map<String, Set<T>>). The operations on the MultiMap itself are thread safe (by means of synchronised keyword), however in some cases the Set<T> value is obtained and iterated over, without holding the right mutex. As a result you may see ConcurrentModificationExceptions.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)