Issue Details (XML | Word | Printable)

Key: DERBY-3238
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Kathey Marsden
Reporter: Stan Bradbury
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Derby

When table contains large LOB values (> ~32K) trigger execution fails for that row with ERROR XCL30: An IOException was thrown when reading a 'BLOB'

Created: 30/Nov/07 10:08 PM   Updated: 24/Jan/08 11:07 PM
Return to search
Component/s: SQL
Affects Version/s: 10.1.3.1, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.4.1.3
Fix Version/s: 10.1.3.2, 10.2.2.1, 10.3.3.0, 10.4.1.3

Time Tracking:
Not Specified

File Attachments:
  Size
Java Source File Licensed for inclusion in ASF works blob_insert2.java 2007-11-30 10:09 PM Stan Bradbury 4 kB
Text File Licensed for inclusion in ASF works derby-3238_10_1_diff.txt 2007-12-06 12:27 AM Kathey Marsden 13 kB
Text File Licensed for inclusion in ASF works derby-3238_diff.txt 2007-12-01 12:38 AM Kathey Marsden 7 kB
Text File Licensed for inclusion in ASF works derby-3238_diffv2.txt 2007-12-03 07:13 PM Kathey Marsden 7 kB
Text File Licensed for inclusion in ASF works derby-3238_diffv3.txt 2007-12-03 07:52 PM Kathey Marsden 7 kB
Text File Licensed for inclusion in ASF works derby-3238_diffv4.txt 2007-12-03 11:33 PM Kathey Marsden 10 kB

Issue & fix info: Patch Available
Resolution Date: 06/Dec/07 02:42 PM


 Description  « Hide
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





 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Stan Bradbury made changes - 30/Nov/07 10:09 PM
Field Original Value New Value
Attachment blob_insert2.java [ 12370703 ]
Kathey Marsden made changes - 01/Dec/07 12:38 AM
Attachment derby-3238_diff.txt [ 12370726 ]
Kathey Marsden made changes - 01/Dec/07 12:43 AM
Assignee Kathey Marsden [ kmarsden ]
Kathey Marsden made changes - 03/Dec/07 07:13 PM
Attachment derby-3238_diffv2.txt [ 12370865 ]
Kathey Marsden made changes - 03/Dec/07 07:15 PM
Derby Info [Patch Available]
Kathey Marsden made changes - 03/Dec/07 07:52 PM
Attachment derby-3238_diffv3.txt [ 12370869 ]
Kathey Marsden made changes - 03/Dec/07 11:30 PM
Attachment derby-3238_diffv4.txt [ 12370888 ]
Kathey Marsden made changes - 03/Dec/07 11:31 PM
Attachment derby-3238_diffv4.txt [ 12370888 ]
Kathey Marsden made changes - 03/Dec/07 11:33 PM
Attachment derby-3238_diffv4.txt [ 12370889 ]
Kathey Marsden made changes - 05/Dec/07 08:41 PM
Fix Version/s 10.4.0.0 [ 12312540 ]
Fix Version/s 10.2.2.1 [ 12312251 ]
Fix Version/s 10.3.2.2 [ 12312885 ]
Kathey Marsden made changes - 06/Dec/07 12:27 AM
Attachment derby-3238_10_1_diff.txt [ 12371081 ]
Kathey Marsden made changes - 06/Dec/07 02:42 PM
Resolution Fixed [ 1 ]
Fix Version/s 10.1.3.2 [ 12311972 ]
Status Open [ 1 ] Resolved [ 5 ]
Kathey Marsden made changes - 12/Dec/07 06:26 PM
Component/s SQL [ 11408 ]
Stan Bradbury made changes - 24/Jan/08 11:07 PM
Status Resolved [ 5 ] Closed [ 6 ]