Hi All,
Looking at the history of JIRA's (2170, 2085, 2092) raised due to
ConcurrentModificationException, its evident that our runtime would throw
more such exceptions in the coming days, such problem occurs if two threads
try to add a contribution simultaneously. Also the above mentioned JIRA's
gives us a clue that mostly these issues are noticed for the ExtensionPoint
implementation classes.

Current Implementation of ExtensionPoint classes use either ArrayList OR
HashMap to maintain the list of processors, listeners, factories and
providers. Basically the Implementation of ArrayList & HashMap are not
synchronized, hence If multiple threads try to access an ArrayList/HashMap
instance concurrently, and at least one of the threads modifies the list/map
structurally, it must be synchronized externally. Hence a fix is required
for these classes, *please have a look at JIRA-2170 comments for more
details on the implemented solution*.

As a precautionary measure, I like to raise a JIRA for all the
ExtensionPoint classes to provide this fix for the above said issue, before
we encounter them one by one. Before I go ahead, I like to hear from people
about their thought on this regard. Thanks.

-- 
Thanks & Regards,
Ramkumar Ramalingam

Reply via email to