
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Communications link failure on a tmysqlrow
Hello,
I was trying to upload a large CSV to an external database using mysqlrow and Talend ran into an error, crashing the job while the database was repairing by sorting. While I got an error in Talend, the query itself will continue running and end successfully.
The fact that it dies at 2h after finishing the upload makes me think that there may be a setting I am missing.
The last packet successfully received from the server was 13,841,151 milliseconds ago. The last packet sent successfully to the server was 7,200,684 milliseconds ago.Exception in component tDBRow_1 (Upstream_CSV_Upload)
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918)
at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1321)
at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1313)
at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.java:1719)
at upstream_connection.upstream_csv_upload_0_1.Upstream_CSV_Upload.tFixedFlowInput_1Process(Upstream_CSV_Upload.java:683)
at upstream_connection.upstream_csv_upload_0_1.Upstream_CSV_Upload.runJobInTOS(Upstream_CSV_Upload.java:1038)
at upstream_connection.upstream_csv_upload_0_1.Upstream_CSV_Upload.main(Upstream_CSV_Upload.java:887)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 13,841,151 milliseconds ago. The last packet sent successfully to the server was 7,200,684 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1127)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3715)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3604)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4155)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:926)
at com.mysql.jdbc.MysqlIO.sendFileToServer(MysqlIO.java:4129)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3238)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2411)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2834)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2832)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2781)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:908)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:788)
at upstream_connection.upstream_csv_upload_0_1.Upstream_CSV_Upload.tFixedFlowInput_1Process(Upstream_CSV_Upload.java:629)
... 2 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:112)
at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:159)
at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:187)
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3158)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3615)
... 14 more

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please try to add advanced JDBC parameter in tMySqlConnection component: autoconnect=true. This will help mysql to reconnect in case if the connection is broken.
Don't hesitate to let us know if it doesn't work.
Best regards
Sabrina

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I have tried that and connectTimeout=0, neither worked. Just in case the wait_timeout in the destination database is 921600, so that is not limiting the connection.
All the best,
Siim
