[
https://issues.apache.org/jira/browse/DERBY-5603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kristian Waagan resolved DERBY-5603.
------------------------------------
Resolution: Fixed
Fix Version/s: 10.8.2.3
10.7.1.4
10.6.2.3
10.5.3.2
10.4.2.1
10.3.3.1
Backported fix from trunk with the following revisions:
o 10.8: 1298735
o 10.7: 1298740
o 10.6: 1298743
o 10.5: 1298750
o 10.4: 1298751
o 10.3: 1298752
Resolving issue.
> 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.3.3.0, 10.4.2.0, 10.5.3.0, 10.6.2.1, 10.7.1.1,
> 10.8.2.2
> Environment: Win 7 64 bit
> JDK 1.6.0_24
> Reporter: Jon Steinich
> Assignee: Kristian Waagan
> Priority: Critical
> Labels: derby_triage10_9
> Fix For: 10.3.3.1, 10.4.2.1, 10.5.3.2, 10.6.2.3, 10.7.1.4,
> 10.8.2.3, 10.9.0.0
>
> Attachments: derby-5603-1a-avoid_concurrentmodification.diff
>
> 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)
> <lines removed>
> 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