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]