[ https://issues.apache.org/jira/browse/DERBY-5603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kristian Waagan reassigned DERBY-5603: -------------------------------------- Assignee: Kristian Waagan > EmbedConnection.clearLOBMapping() incorrectly clears lobFiles causing a ConcurrentModificationException > ------------------------------------------------------------------------------------------------------- > > Key: DERBY-5603 > URL: https://issues.apache.org/jira/browse/DERBY-5603 > Project: Derby > Issue Type: Bug > Components: JDBC > Affects Versions: 10.5.1.1, 10.8.2.2 > Environment: Win 7 64 bit > JDK 1.6.0_24 > Reporter: Jon Steinich > Assignee: Kristian Waagan > Priority: Critical > Original Estimate: 1h > Remaining Estimate: 1h > > In EmbedConnection.clearLOBMapping() the code which iterates over lobFiles has a finally block which clears the Set. This causes a ConcurrentModificationException to be thrown and even using a concurrent data structure would still result in only one LOBFile being correctly closed. > This will occur anytime the lobFiles Set contains more than 1 LOBFile. > Stack Trace: > java.sql.SQLException: Java exception: ': java.util.ConcurrentModificationException'. > at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source) > at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) > at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source) > at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) > at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedConnection.commit(Unknown Source) > > Caused by: java.sql.SQLException: Java exception: ': java.util.ConcurrentModificationException'. > at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) > at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source) > ... 16 more > Caused by: java.util.ConcurrentModificationException > at java.util.HashMap$HashIterator.nextEntry(Unknown Source) > at java.util.HashMap$KeyIterator.next(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedConnection.clearLOBMapping(Unknown Source) > ... 10 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira