[ https://issues.apache.org/jira/browse/OOZIE-1714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13915080#comment-13915080 ]
Virag Kothari commented on OOZIE-1714: -------------------------------------- +1 on the patch.. Just curious..Do you know when it passes or fails with the older derby? > Update Derby driver version to latest > ------------------------------------- > > Key: OOZIE-1714 > URL: https://issues.apache.org/jira/browse/OOZIE-1714 > Project: Oozie > Issue Type: Bug > Affects Versions: trunk > Reporter: Robert Kanter > Assignee: Robert Kanter > Priority: Critical > Attachments: OOZIE-1714.patch > > > Upgrading from Oozie 3 (database version 1) to Oozie 5/trunk (database > version 3) with a derby database can fail depending on what's in the database: > {noformat} > java.sql.SQLException: The data in this BLOB or CLOB is no longer available. > The BLOB/CLOB's transaction may be committed, its connection closed or it has > been freed. > 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.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.EmbedResultSet.getClob(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedResultSet.getClob(Unknown Source) > at > org.apache.oozie.tools.OozieDBCLI.convertClobToBlobinDerby(OozieDBCLI.java:573) > at org.apache.oozie.tools.OozieDBCLI.ddlTweaksFor50(OozieDBCLI.java:636) > at org.apache.oozie.tools.OozieDBCLI.upgradeDBto50(OozieDBCLI.java:241) > at org.apache.oozie.tools.OozieDBCLI.upgradeDB(OozieDBCLI.java:221) > at org.apache.oozie.tools.OozieDBCLI.run(OozieDBCLI.java:129) > at org.apache.oozie.tools.OozieDBCLI.main(OozieDBCLI.java:77) > Caused by: java.sql.SQLException: The data in this BLOB or CLOB is no longer > available. The BLOB/CLOB's transaction may be committed, its connection > closed or it has been freed. > at > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) > at > org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown > Source) > ... 15 more > Caused by: java.sql.SQLException: Java exception: 'ERROR 40XD0: Container has > been closed.: java.io.IOException'. > at > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) > at > org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown > Source) > 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) > ... 12 more > Caused by: java.io.IOException: ERROR 40XD0: Container has been closed. > at > org.apache.derby.impl.store.raw.data.OverflowInputStream.fillByteHolder(Unknown > Source) > at > org.apache.derby.impl.store.raw.data.BufferedByteHolderInputStream.read(Unknown > Source) > at java.io.DataInputStream.read(DataInputStream.java:100) > at org.apache.derby.iapi.types.SQLClob.getStreamWithDescriptor(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedClob.<init>(Unknown Source) > ... 8 more > Caused by: ERROR 40XD0: Container has been closed. > at org.apache.derby.iapi.error.StandardException.newException(Unknown > Source) > at > org.apache.derby.impl.store.raw.data.BaseContainerHandle.checkOpen(Unknown > Source) > at > org.apache.derby.impl.store.raw.data.BaseContainerHandle.getPage(Unknown > Source) > ... 13 more > {noformat} > I couldn't find too much on the internet about this, but from what I could > gather it's a bug with how Derby handles CLOBs and connections or something; > though I couldn't find a specific Derby JIRA. In any case, I tried using the > latest Derby driver (10.10.1.1) instead of the one we're currently using > (10.6.1.0) and the upgrade succeeds. -- This message was sent by Atlassian JIRA (v6.1.5#6160)