One Star

Job Failing when enabling Parallel execution in tDB2Output

Talend team,
I am trying to insert appx 2500000 records to a DB2 table by enabling parallel execution (2) and with batch size 1000 in tDB2Output component. When I run the job by enabling this option, the job runs fine till 125001 records but fails after that with an exception given below.
"Non-atomic batch failure. The batch was submitted, but at least one exception occurred on an individual member of the batch. Use getNextException() to retrieve the exceptions for specific batched elements.
Non-atomic batch failure. The batch was submitted, but at least one exception occurred on an individual member of the batch. Use getNextException() to retrieve the exceptions for specific batched elements."
Please note, the job runs fine if I disable the parallel execution in tDB2Output component.
Talend Version - T0S 4.2.2.r63143
OS - Win XP
Mem - 4 GB
DB2 (ver9)
The Sample delimited file format (delimiter "|") is as given below.
abc.txt
unitnumber|url|partnum|type|startdt|enddt|price
0009300|000015458714|09810009000|R|2011-08-19 00:00:00|9999-12-31 23:59:59|000002.50
0009300|000015458714|09810009000|P|2011-08-19 00:00:00|9999-12-31 23:59:59|000000.60
Data types used in the componets (tFileInputDelimited and tDB2Output) in the job
column key type nullable length Precision
unitnumber Y string n 7
url n string n 20
partn y strign n 17
ptype y char n 1
startdt y string n
enddt y string n
prc n bigdecimal y 20 5
DB2 Table DDl
XSRPT
unitnumber CHARACTER(7) NOT NULL,
url VARCHAR(64) NOT NULL,
partn VARCHAR(64) NOT NULL,
ptype CHARACTER(1) NOT NULL,
startdt string NOT NULL,
enddt string NOT NULL,
prc DECIMAL(20,5),

PRIMARY KEY (unitnumber,partn,ptype,startdt,enddt,prc)
Questions:
1. Please let me know how to know the exception which is causing the batch failure and how this can be resolved.
2. It has been mentioned to use the getNextException() option to know the exception that has occured in the batch. How can we do this in talend
1 REPLY
One Star

Re: Job Failing when enabling Parallel execution in tDB2Output

Hi
Usually the reason is that error log of database is full.
You can't use the getNextException() method, because it has to hard code in TOS which is not allowed.
Well, here are two workarounds.
NO.1: Check your database error log and find detail errors which cause Talend Job fail. There must something wrong with your data.
NO.2: Change TOS into Java Debug mode. Add breakpoint and see variables like 'ExceptionMessage' or 'detailMessage'.
Best regards!
Pedro