DRDA regression in LOB retrieval between 10.3.2.1 -> 10.4.2.0 (and beyond)
--------------------------------------------------------------------------
Key: DERBY-4337
URL: https://issues.apache.org/jira/browse/DERBY-4337
Project: Derby
Issue Type: Bug
Components: Network Client
Affects Versions: 10.5.1.1, 10.4.2.0, 10.4.1.3
Environment: WIndows XP, Mac OS X, Bitronix JTA 1.3, Hibernate 3.3
Reporter: Brett Wooldridge
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)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.