[ http://issues.apache.org/jira/browse/TUSCANY-1006?page=comments#action_12460015 ] Frank Budinsky commented on TUSCANY-1006: -----------------------------------------
I don't know a lot about thread safety/sychronizing but I wonder if changing the put() call to something like this might be a less brute force solution to the problem: synchronized(cachedSDOObjectChanges) { cachedSDOObjectChanges.put(dataObject, sdoSettings); } Does that fix your scenario? > ChangeSummaryImpl.cachedSDOObjectChanges appears to not be thread safe > ---------------------------------------------------------------------- > > Key: TUSCANY-1006 > URL: http://issues.apache.org/jira/browse/TUSCANY-1006 > Project: Tuscany > Issue Type: Bug > Components: Java SDO Implementation > Affects Versions: Java-M2 > Environment: Sun JDK 1.4.2_11, 2-CPU server > Reporter: Ron Gavlin > Priority: Critical > > I have an application in which multiple threads access a shared > ChangeSummaryImpl. Each thread invokes ChangeSummaryImpl.getOldValues() > repeatedly. This causes one or more of the threads to enter an infinite > "while (true) -" loop in HashMap.get(Object) with the following stack trace: > HashMap.get(Object) line: 323 > ChangeSummaryImpl.getOldValues(DataObject) line: 481 > ... > I suspect this occurs because the access to HashMap cachedSDOObjectChanges is > not synchronized. > I have been unable as of yet to create a simple test case that demonstrates > the problem. In the meantime, I will try to implement a short-term fix by > changing line 93 of ChangeSummaryImpl > from > protected HashMap cachedSDOObjectChanges = new HashMap(); > to > protected Map cachedSDOObjectChanges = Collections.synchronizedMap(new > HashMap()); > I will let you know if that fixes the problem. Any insight or assistance you > can offer concerning this problem is appreciated. This is a show-stopper > problem for us. > Regards, > - Ron -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]