Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
10.4.1.3, 10.4.2.0, 10.5.1.1
-
None
-
None
-
WIndows XP, Mac OS X, Bitronix JTA 1.3, Hibernate 3.3
-
Crash, Embedded/Client difference, Regression
Description
This bug was created after discussions on the developer mailing list, which can be found here:
http://www.nabble.com/Derby-10.5.1.1-regression-tt24733315.html#a24733315
In short summary, in an environment involving JTA, Derby, and connection pooling we are experiencing a failure retrieving a CLOB.
To answer some of the questions and suggestions raised:
1. After switching to the EmbeddedXADataSource, the problem goes away. This is not a "workaround" for me, but is diagnostic of the issue.
2. After downgrading from 10.5.1.1 -> 10.4.2.0, the problem still occurs. So the "regression" is between 10.3.2.1 and 10.4.2.0.
3. I have built 10.5.2.0, the problem still occurs.
Execution failed because of a Distributed Protocol Error: DRDA_Proto_CMDNSPRM; CODPNT arg = 2414; Error Code Value = 0
org.apache.derby.impl.drda.DRDAProtocolException: Execution failed because of a Distributed Protocol Error: DRDA_Proto_CMDNSPRM; CODPNT arg = 2414; Error Code Value = 0
at org.apache.derby.impl.drda.DRDAConnThread.codePointNotSupported(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
Execution failed because of a Distributed Protocol Error: DRDA_Proto_CMDNSPRM; CODPNT arg = 2414; Error Code Value = 0
org.apache.derby.impl.drda.DRDAProtocolException: Execution failed because of a Distributed Protocol Error: DRDA_Proto_CMDNSPRM; CODPNT arg = 2414; Error Code Value = 0
at org.apache.derby.impl.drda.DRDAConnThread.codePointNotSupported(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
An IOException was thrown when reading a 'java.sql.String' from an InputStream.
java.sql.SQLException: An IOException was thrown when reading a 'java.sql.String' 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.EmbedResultSet.noStateChangeException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.transferParameters(Unknown Source)
at org.apache.derby.jdbc.XAStatementControl.getRealPreparedStatement(Unknown Source)
at org.apache.derby.iapi.jdbc.BrokeredPreparedStatement.getPreparedStatement(Unknown Source)
at org.apache.derby.iapi.jdbc.BrokeredPreparedStatement.getStatement(Unknown Source)
at org.apache.derby.iapi.jdbc.BrokeredStatement.close(Unknown Source)
at org.apache.derby.impl.drda.DRDAStatement.close(Unknown Source)
at org.apache.derby.impl.drda.Database.close(Unknown Source)
at org.apache.derby.impl.drda.Session.close(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.closeSession(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.handleException(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
Caused by: java.sql.SQLException: Java exception: 'Stream has already been read and end-of-file reached and cannot be re-used.: 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)
... 13 more
Caused by: java.io.EOFException: Stream has already been read and end-of-file reached and cannot be re-used.
at org.apache.derby.iapi.types.ReaderToUTF8Stream.read(Unknown Source)
at java.io.DataInputStream.read(DataInputStream.java:80)
at org.apache.derby.iapi.types.SQLClob.readExternal(Unknown Source)
at org.apache.derby.iapi.types.SQLChar.getString(Unknown Source)
at org.apache.derby.iapi.types.SQLChar.setFrom(Unknown Source)
at org.apache.derby.iapi.types.DataType.setValue(Unknown Source)
at org.apache.derby.impl.sql.GenericParameterValueSet.transferDataValues(Unknown Source)
at org.apache.derby.impl.sql.execute.BaseActivation.setParameters(Unknown Source)
at org.apache.derby.impl.sql.GenericActivationHolder.setParameters(Unknown Source)
... 11 more
Execution failed because of Permanent Agent Error: SVRCOD = 40; RDBNAM = ziptie; diagnostic msg = An IOException was thrown when reading a 'java.sql.String' from an InputStream.
org.apache.derby.impl.drda.DRDAProtocolException: Execution failed because of Permanent Agent Error: SVRCOD = 40; RDBNAM = ziptie; diagnostic msg = An IOException was thrown when reading a 'java.sql.String' from an InputStream.
at org.apache.derby.impl.drda.DRDAProtocolException.newAgentError(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.sendUnexpectedException(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.closeSession(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.handleException(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
Attachments
Attachments
Issue Links
- duplicates
-
DERBY-4310 Closing a prepared statement with an embedded XAConnection can cause the statement to be reprepared and errors related to missing dependencies. This can interfere with network server closeSession()
- Closed