Wednesday, April 13, 2016

EOFException java.io.EOFException in Talend after x Records

Leave a Comment

I created a Talend job which does this: Read record x from table A. Write record x + 1.000.000 in table A. This works great, but fails after 310 records. It clearly has notthing to do with the values in the records. If I alter the input query with X >= 1 and X <= 300, and after running succesfully without errors, alter it to X >= 301 and X <= 600, it runs again succesfully without any errors. But if X >= 1 and X <= 600, it stops after 310 records. I have to do thousands of records, so changing my query every 310 records is not an option.

I tried to alter the "commit after" from 10.000 to 100, 10 even 1, but that doesn't help.

What can I do?

    java.io.EOFExceptionException in component tJDBCOutput_1 java.sql.SQLException: java.io.EOFException     at com.kewill.jdbc.JdbcUnimsConnection.sendMessage(JdbcUnimsConnection.java:182)     at com.kewill.jdbc.JdbcUnimsConnection.commit(JdbcUnimsConnection.java:255)     at local_project.tsdsmd_0_1.tsdsmd.tJDBCInput_1Process(tsdsmd.java:12790)     at local_project.tsdsmd_0_1.tsdsmd.runJobInTOS(tsdsmd.java:13237)     at local_project.tsdsmd_0_1.tsdsmd.main(tsdsmd.java:13036) Caused by: java.io.EOFException     at java.io.DataInputStream.readFully(Unknown Source)     at com.kewill.jdbc.JdbcUnimsSocket.readFully(JdbcUnimsSocket.java:170)     at com.kewill.jdbc.JdbcUnimsMessage.init(JdbcUnimsMessage.java:114)     at com.kewill.jdbc.JdbcUnimsMessage.<init>(JdbcUnimsMessage.java:96)     at com.kewill.jdbc.JdbcUnimsSocket.readMessage(JdbcUnimsSocket.java:122)     at com.kewill.jdbc.JdbcUnimsSocket.sendMessage(JdbcUnimsSocket.java:106)     at com.kewill.jdbc.JdbcUnimsSocket.sendMessage(JdbcUnimsSocket.java:89)     at com.kewill.jdbc.JdbcUnimsConnection.sendMessage(JdbcUnimsConnection.java:166)     ... 4 more 

1 Answers

Answers 1

Let's start by asking more questions.

Questions. How much memory is allocated to the Talend job? Have you turned on debug level logging in Log4j ? Do you have the latest version of the JDBC driver? Can you use the same driver and query in a SQL tool, How long does it take to Return 10 results, 300 results, all the results? Does the driver have a setting for the timeout value?

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment