java.io.EOFException: Can not read response from server. Expected to read 31 bytes, read 13 bytes before connection was unexpectedly lost.
Posted by: Kevin Kardian
Date: April 03, 2008 08:51AM

Hello all,

I'm getting the following java exception after about ten minutes keeping a connection open for a streaming read. Its bizarre because I'm getting viable data off of the stream for a while, then the connection just goes away.

Versions:
~ # mysql --version
mysql Ver 14.12 Distrib 5.0.44, for pc-linux-gnu (i686) using readline 5.2

JDBC # ls
asjava.zip jt400.jar
db2jcc.jar jtds-1.2.jar
db2jcc_license_cu.jar mysql-connector-java-5.0.7-bin.jar
derby.jar ojdbc14.jar
derbyclient.jar orai18n.jar
h2.jar postgresql-8.2-506.jdbc3.jar
hsqldb.jar rdbthin.jar
ifxjdbc.jar sapdbc.jar
iijdbc.jar sqlitejdbc-v037-nested.jar
interclient.jar unijdbc.jar
jaybird-full-2.1.0.jar xdbjdbc.jar

Any help would be appreciated. Is there some mysql system variable that I can set to prevent this? Is there an attribute that I can specify in my JDBC connection that gets the job done? Furthermore, does it matter whether I'm connecting using a Unix socket file or through TCP/IP? If so, how can I control this?

INFO 03-04 14:30:58,375 (LogWriter.java:println:406) -Pan - Logging is at level : Basic logging
INFO 03-04 14:30:58,378 (LogWriter.java:println:406) -Pan - Start of run.
INFO 03-04 14:31:01,099 (LogWriter.java:println:406) -transaction_dim - Dispatching started for transformation [transaction_dim]
INFO 03-04 14:31:01,100 (LogWriter.java:println:406) -transaction_dim - Nr of arguments detected:0
INFO 03-04 14:31:01,100 (LogWriter.java:println:406) -transaction_dim - This is not a replay transformation
INFO 03-04 14:31:01,172 (LogWriter.java:println:406) -transaction_dim - This transformation can be replayed with replay date: 2008/04/03 14:31:01
INFO 03-04 14:31:01,172 (LogWriter.java:println:406) -transaction_dim - Initialising 4 steps...
INFO 03-04 14:31:01,663 (LogWriter.java:println:406) -Dimension lookup/update.0 - Connected to database...
INFO 03-04 14:31:01,688 (LogWriter.java:println:406) -Table input.0 - Starting to run...
INFO 03-04 14:31:01,769 (LogWriter.java:println:406) -Dimension lookup/update.0 - Starting to run...
INFO 03-04 14:31:01,770 (LogWriter.java:println:406) -delete columns.0 - Starting to run...
INFO 03-04 14:31:01,771 (LogWriter.java:println:406) -Value Mapper.0 - Starting to run...
INFO 03-04 14:36:07,664 (LogWriter.java:println:406) -Table input.0 - linenr 50000
ERROR 03-04 14:44:20,565 (LogWriter.java:println:403) -Table input.0 - Unexpected error :
ERROR 03-04 14:44:20,565 (LogWriter.java:println:403) -Table input.0 - org.pentaho.di.core.exception.KettleDatabaseException:
Couldn't get row from result set
Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.io.EOFException
MESSAGE: Can not read response from server. Expected to read 31 bytes, read 13 bytes before connection was unexpectedly lost.

STACKTRACE:

java.io.EOFException: Can not read response from server. Expected to read 31 bytes, read 13 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2464)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1360)
at com.mysql.jdbc.RowDataDynamic.nextRecord(RowDataDynamic.java:366)
at com.mysql.jdbc.RowDataDynamic.next(RowDataDynamic.java:355)
at com.mysql.jdbc.ResultSet.next(ResultSet.java:7302)
at org.pentaho.di.core.database.Database.getRow(Database.java:2672)
at org.pentaho.di.core.database.Database.getRow(Database.java:2657)
at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:129)
at org.pentaho.di.trans.steps.tableinput.TableInput.run(TableInput.java:326)


** END NESTED EXCEPTION **



Last packet sent to the server was 798814 ms ago.

at org.pentaho.di.core.database.Database.getRow(Database.java:2737)
at org.pentaho.di.core.database.Database.getRow(Database.java:2657)
at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:129)
at org.pentaho.di.trans.steps.tableinput.TableInput.run(TableInput.java:326)
Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.io.EOFException
MESSAGE: Can not read response from server. Expected to read 31 bytes, read 13 bytes before connection was unexpectedly lost.

STACKTRACE:

java.io.EOFException: Can not read response from server. Expected to read 31 bytes, read 13 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2464)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1360)
at com.mysql.jdbc.RowDataDynamic.nextRecord(RowDataDynamic.java:366)
at com.mysql.jdbc.RowDataDynamic.next(RowDataDynamic.java:355)
at com.mysql.jdbc.ResultSet.next(ResultSet.java:7302)
at org.pentaho.di.core.database.Database.getRow(Database.java:2672)
at org.pentaho.di.core.database.Database.getRow(Database.java:2657)
at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:129)
at org.pentaho.di.trans.steps.tableinput.TableInput.run(TableInput.java:326)


** END NESTED EXCEPTION **



Last packet sent to the server was 798814 ms ago.
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2622)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1360)
at com.mysql.jdbc.RowDataDynamic.nextRecord(RowDataDynamic.java:366)
at com.mysql.jdbc.RowDataDynamic.next(RowDataDynamic.java:355)
at com.mysql.jdbc.ResultSet.next(ResultSet.java:7302)
at org.pentaho.di.core.database.Database.getRow(Database.java:2672)
... 3 more

ERROR 03-04 14:44:20,568 (LogWriter.java:println:403) -transaction_dim - Errors detected!
ERROR 03-04 14:44:20,584 (LogWriter.java:println:403) -transaction_dim - Something went wrong while trying to stop the transformation: org.pentaho.di.core.exception.KettleDatabaseException:
Error cancelling statement
Unknown thread id: 16

ERROR 03-04 14:44:20,584 (LogWriter.java:println:403) -transaction_dim - org.pentaho.di.core.exception.KettleDatabaseException:
Error cancelling statement
Unknown thread id: 16

at org.pentaho.di.core.database.Database.cancelStatement(Database.java:561)
at org.pentaho.di.core.database.Database.cancelQuery(Database.java:540)
at org.pentaho.di.trans.steps.tableinput.TableInput.stopRunning(TableInput.java:257)
at org.pentaho.di.trans.Trans.stopAll(Trans.java:871)
at org.pentaho.di.trans.step.BaseStep.stopAll(BaseStep.java:1770)
at org.pentaho.di.trans.steps.tableinput.TableInput.run(TableInput.java:333)
Caused by: java.sql.SQLException: Unknown thread id: 16
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3256)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1313)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:874)
at com.mysql.jdbc.Statement.createResultSetUsingServerFetch(Statement.java:520)
at com.mysql.jdbc.Statement.execute(Statement.java:634)
at com.mysql.jdbc.Statement.cancel(Statement.java:345)
at org.pentaho.di.core.database.Database.cancelStatement(Database.java:555)
... 5 more

INFO 03-04 14:44:20,585 (LogWriter.java:println:406) -Table input.0 - Finished reading query, closing connection.
ERROR 03-04 14:44:20,585 (LogWriter.java:println:403) -Table input.0 - Unexpected error closing query : org.pentaho.di.core.exception.KettleDatabaseException:
Couldn't close query: resultset or prepared statements
Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.io.EOFException
MESSAGE: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.

STACKTRACE:

java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2411)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2916)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1360)
at com.mysql.jdbc.RowDataDynamic.nextRecord(RowDataDynamic.java:366)
at com.mysql.jdbc.RowDataDynamic.next(RowDataDynamic.java:355)
at com.mysql.jdbc.RowDataDynamic.close(RowDataDynamic.java:152)
at com.mysql.jdbc.ResultSet.realClose(ResultSet.java:7716)
at com.mysql.jdbc.ResultSet.close(ResultSet.java:769)
at org.pentaho.di.core.database.Database.closeQuery(Database.java:2335)
at org.pentaho.di.trans.steps.tableinput.TableInput.closePreviousQuery(TableInput.java:188)
at org.pentaho.di.trans.steps.tableinput.TableInput.dispose(TableInput.java:231)
at org.pentaho.di.trans.steps.tableinput.TableInput.run(TableInput.java:337)


** END NESTED EXCEPTION **



Last packet sent to the server was 798856 ms ago.

INFO 03-04 14:44:20,627 (LogWriter.java:println:406) -delete columns.0 - Finished processing (I=0, O=0, R=42932, W=42932, U=0, E=0)
INFO 03-04 14:44:20,627 (LogWriter.java:println:406) -Value Mapper.0 - Finished processing (I=0, O=0, R=52933, W=52933, U=0, E=0)
INFO 03-04 14:44:20,627 (LogWriter.java:println:406) -transaction_dim - Transformation detected 1 steps with errors!
INFO 03-04 14:44:20,629 (LogWriter.java:println:406) -transaction_dim - Transformation is killing the other steps!
INFO 03-04 14:44:20,629 (LogWriter.java:println:406) -transaction_dim - Looking at step: Table input
ERROR 03-04 14:44:20,632 (LogWriter.java:println:403) -transaction_dim - Something went wrong while trying to stop the transformation: org.pentaho.di.core.exception.KettleDatabaseException:
Error cancelling statement
Unknown thread id: 16

ERROR 03-04 14:44:20,632 (LogWriter.java:println:403) -transaction_dim - org.pentaho.di.core.exception.KettleDatabaseException:
Error cancelling statement
Unknown thread id: 16

at org.pentaho.di.core.database.Database.cancelStatement(Database.java:561)
at org.pentaho.di.core.database.Database.cancelQuery(Database.java:540)
at org.pentaho.di.trans.steps.tableinput.TableInput.stopRunning(TableInput.java:257)
at org.pentaho.di.trans.Trans.stopAll(Trans.java:871)
at org.pentaho.di.trans.step.BaseStep.stopAll(BaseStep.java:1770)
at org.pentaho.di.trans.steps.tableinput.TableInput.dispose(TableInput.java:237)
at org.pentaho.di.trans.steps.tableinput.TableInput.run(TableInput.java:337)
Caused by: java.sql.SQLException: Unknown thread id: 16
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3256)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1313)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:874)
at com.mysql.jdbc.Statement.createResultSetUsingServerFetch(Statement.java:520)
at com.mysql.jdbc.Statement.execute(Statement.java:634)
at com.mysql.jdbc.Statement.cancel(Statement.java:345)
at org.pentaho.di.core.database.Database.cancelStatement(Database.java:555)
... 6 more

ERROR 03-04 14:44:20,633 (LogWriter.java:println:403) -sri_oltp - Error disconnecting from database:
Streaming result set com.mysql.jdbc.RowDataDynamic@10d95cd is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries.
ERROR 03-04 14:44:20,633 (LogWriter.java:println:403) -sri_oltp - java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@10d95cd is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:914)
at com.mysql.jdbc.MysqlIO.checkForOutstandingStreamingData(MysqlIO.java:2181)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1542)
at com.mysql.jdbc.ServerPreparedStatement.realClose(ServerPreparedStatement.java:965)
at com.mysql.jdbc.ServerPreparedStatement.close(ServerPreparedStatement.java:522)
at org.pentaho.di.core.database.Database.disconnect(Database.java:458)
at org.pentaho.di.trans.steps.tableinput.TableInput.dispose(TableInput.java:241)
at org.pentaho.di.trans.steps.tableinput.TableInput.run(TableInput.java:337)

INFO 03-04 14:44:20,633 (LogWriter.java:println:406) -Table input.0 - Finished processing (I=62934, O=0, R=0, W=62933, U=0, E=1)
INFO 03-04 14:44:20,685 (LogWriter.java:println:406) -transaction_dim - Looking at step: Value Mapper
INFO 03-04 14:44:20,686 (LogWriter.java:println:406) -transaction_dim - Looking at step: delete columns
INFO 03-04 14:44:20,686 (LogWriter.java:println:406) -transaction_dim - Looking at step: Dimension lookup/update
INFO 03-04 14:44:20,694 (LogWriter.java:println:406) -Dimension lookup/update.0 - Finished processing (I=32931, O=32931, R=32931, W=32930, U=0, E=0)
INFO 03-04 14:44:20,707 (LogWriter.java:println:406) -Pan - Finished!
INFO 03-04 14:44:20,707 (LogWriter.java:println:406) -Pan - Start=2008/04/03 14:31:00.836, Stop=2008/04/03 14:44:20.707
INFO 03-04 14:44:20,707 (LogWriter.java:println:406) -Pan - Processing ended after 799 seconds.

Thanks.

Options: ReplyQuote




Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.