Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-4337

DRDA regression in LOB retrieval between 10.3.2.1 -> 10.4.2.0 (and beyond)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 10.4.1.3, 10.4.2.0, 10.5.1.1
    • None
    • Network Client
    • 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

        1. Server2.trace
          317 kB
          Brett Wooldridge
        2. protocol-events.log
          15 kB
          Dag H. Wanvik
        3. full_trace.log
          1.53 MB
          Brett Wooldridge
        4. derbyJdbcLoggingJar.zip
          3.27 MB
          Katherine Marsden
        5. derby.log
          110 kB
          Brett Wooldridge
        6. derby.log
          32 kB
          Brett Wooldridge
        7. client_trace.log
          91 kB
          Brett Wooldridge

        Issue Links

          Activity

            People

              Unassigned Unassigned
              brettw Brett Wooldridge
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: