Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
We are facing an issue, Parent job is not failing even after failure of child job , Due to this our job flow is changing.
Please help us here to resolve this issue.
Talend: Talend Open Studio for Big Data 7.0.1 v
refer snapshot below,
This will be caused by the tPostJob. What you need to do is to track where you are getting your errors. Then track them in the main flow. When you tPostJob is triggered, after you have committed your DB work (if you still want to do that with a failure?) use a runif link to a tDie component. The logic in the runif link should be to test for an error in your job. The tDie will supply the error to the main job.
I notice you have another child job inside your child job. You may need to consider this as well.
Hi !
I think I've seen this case before : your job generate an error but doesn't stop because it doesn't end with an error code equals to 1.
You need generate this error code in order to make your job fail.
Like "Data truncation" is shown in red, but is not an error.
Like "Unwinding now" is shown in red as an exception but is not a real error.
To "debug", use tJava or a warn and link it with an "IF" condition. Set it to "true" (without quotes) to force it.
It will show you the return code (the one in the outline panel, in globalvar).
Sincerely,
To add to what @mhodent said, this behaviour can be seen when you have a tPostJob in your child job. If this is the case, you need to track whether a failure has occurred and trigger a tDie in your tPostJob if an error has occurred in your main flow
Can you share a screenshot of your child job?
Hi !
Seeing your job, 2 things are to check/change :
If you can also add the location of your error and the type, it could help.
Sincerely,
This will be caused by the tPostJob. What you need to do is to track where you are getting your errors. Then track them in the main flow. When you tPostJob is triggered, after you have committed your DB work (if you still want to do that with a failure?) use a runif link to a tDie component. The logic in the runif link should be to test for an error in your job. The tDie will supply the error to the main job.
I notice you have another child job inside your child job. You may need to consider this as well.
Hi @rhall ,
I have used two tlogcatcher to capture warnings (writing into log file) and another one to capture errors (writing into a table).
capture warnings to file
capture errors to table
So I modified second subjob (tlogcatcher1) and connected a tDie by assuming in case any error occurred, this will write that error in a table and later it will fail. But I am getting error below, any idea on this?
Sub Job design,
Error getting while running this,
tDie_1 - tDie failed to log message due to internal error: java.lang.StackOverflowError
java.lang.StackOverflowError
at com.mysql.jdbc.Util.handleNewInstance(Util.java:429)
at com.mysql.jdbc.ResultSetImpl.getInstance(ResultSetImpl.java:382)
at com.mysql.jdbc.MysqlIO.buildResultSetWithRows(MysqlIO.java:3262)