Skip to main content
Announcements
A fresh, new look for the Data Integration & Quality forums and navigation! Read more about what's changed.
cancel
Showing results for 
Search instead for 
Did you mean: 
Veerand
Contributor

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

Labels (4)
2 Replies
Anonymous
Not applicable

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

Veerand
Contributor
Author

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