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?
0 comments:
Post a Comment