On Thu, Apr 10, 2008 at 3:29 PM, Raymond Feng <[EMAIL PROTECTED]> wrote:
> Hi, > > Thanks Ramkumar for looking into these concurrent issues. > > Before we jump into a solution/fix, I suggest that we step back and agree > on whether the Tuscany core and extensions should be bootstrapped > sequentially or concurrently. A few use cases would be helpful. Can some of > the JIRA reporters describe their needs to make these extension points > thread-safe? > > Raymond > -------------------------------------------------- > From: "Ramkumar R" <[EMAIL PROTECTED]> > Sent: Thursday, April 10, 2008 3:59 AM > To: <[email protected]> > Subject: A solution to avoid ConcurrentModificationException > > > 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 > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > I don't think people are consciously bootstrapping Tuscany concurrently but doing things concurrently like adding contributions. Simon
