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

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

Commit d3fc2043068fad94b2c2f9dbb14ab2ead9481eca in aries-rsa's branch 
refs/heads/master from Amichai Rothman
[ https://gitbox.apache.org/repos/asf?p=aries-rsa.git;h=d3fc2043 ]

ARIES-2230 Fix Race condition in TopologyManagerImpor handling of endpoint 
events


> Race condition in TopologyManagerImpor handling of endpoint events
> ------------------------------------------------------------------
>
>                 Key: ARIES-2230
>                 URL: https://issues.apache.org/jira/browse/ARIES-2230
>             Project: Aries
>          Issue Type: Task
>          Components: Remote Service Admin
>    Affects Versions: rsa-1.16.1
>            Reporter: Amichai Rothman
>            Priority: Major
>
> For every endpoint changed event, TopologyManagerImport updates the 
> possibilities and schedules a run of synchronizeImports on a separate 
> threads. The thread processes the updated snapshot at the moment of 
> processing (and not at the moment the event was triggered), which is correct 
> - it processes updated data and not stale data.
> However, two such threads running concurrently still create a race condition, 
> e.g. an added endpoint is checked by both to not exist, so both try to import 
> it and we get a duplicate import. We should synchronize the process so there 
> is only one execution running at a time. The waiting thread will start when 
> the current one finishes, and will either process additional updates or will 
> be a no-op if nothing changed.
> In addition, when receiving a RemoteServiceAdminEvent.IMPORT_UNREGISTRATION 
> event, it calls unimportRegistration directly which removes the import 
> potentially concurrently with synchronizeImports, so we should make sure 
> there is no race condition there as well.
>  



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

Reply via email to