[ https://issues.apache.org/jira/browse/DERBY-3238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kathey Marsden resolved DERBY-3238. ----------------------------------- Resolution: Fixed Fix Version/s: 10.1.3.2 > When table contains large LOB values (> ~32K) trigger execution fails for > that row with ERROR XCL30: An IOException was thrown when reading a 'BLOB' > ----------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: DERBY-3238 > URL: https://issues.apache.org/jira/browse/DERBY-3238 > Project: Derby > Issue Type: Bug > Affects Versions: 10.1.3.1, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.4.0.0 > Reporter: Stan Bradbury > Assignee: Kathey Marsden > Fix For: 10.1.3.2, 10.2.2.1, 10.3.2.2, 10.4.0.0 > > Attachments: blob_insert2.java, derby-3238_10_1_diff.txt, > derby-3238_diff.txt, derby-3238_diffv2.txt, derby-3238_diffv3.txt, > derby-3238_diffv4.txt > > > See attached test case. > At execution/run-time a trigger that handles a row that contains a large LOB > value will fail with the following error and stack trace: > = = = > Testing blob of size=1024 > . . Now executing update to fire the trigger > PASSED > Testing blob of size=16384 > . . Now executing update to fire the trigger > PASSED > Testing blob of size=32658 > . . Now executing update to fire the trigger > PASSED > Testing blob of size=32659 > . . Now executing update to fire the trigger > Error! java.sql.SQLException: An IOException was thrown when reading a 'BLOB' > from an InputStream. > java.sql.SQLException: An IOException was thrown when reading a 'BLOB' from > an InputStream. > at > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) > at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown > Source) > at org.apache.derby.impl.jdbc.Util.seeNextException(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.ConnectionChild.handleException(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown > Source) > at blob_insert2.testBlob(blob_insert2.java:102) > at blob_insert2.main(blob_insert2.java:55) > Caused by: java.sql.SQLException: Java exception: ': java.io.EOFException'. > at > org.apache.derby.impl.jdbc.SQLExceptionFactory.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) > ... 9 more > Caused by: java.io.EOFException > at org.apache.derby.iapi.types.SQLBinary.readBinaryLength(Unknown > Source) > at org.apache.derby.iapi.types.SQLBinary.readExternal(Unknown Source) > at org.apache.derby.iapi.types.SQLBinary.getValue(Unknown Source) > at org.apache.derby.iapi.types.SQLBinary.loadStream(Unknown Source) > at > org.apache.derby.impl.sql.execute.UpdateResultSet.objectifyStream(Unknown > Source) > at > org.apache.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(Unknown > Source) > at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown > Source) > at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown > Source) > ... 5 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.