Skip to main content
Announcements
Introducing a new Enhanced File Management feature in Qlik Cloud! GET THE DETAILS!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Parent job is not failing even after Child job failure

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,

 

0683p000009M6l4.jpg

 

0683p000009M6tX.jpg

Labels (4)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

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.

View solution in original post

10 Replies
fdenis
Master
Master

it's working for me…
can you insert flow to iterate before trunjob? and try again
rmartin2
Creator II
Creator II

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,

Anonymous
Not applicable
Author

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

Anonymous
Not applicable
Author

Hi @mhodent , @rhall ,

 

Can you elaborate your suggested solution please.

 

1. How to generate error code manually in subjob

2. Is it because of trunjob? If i remove the same, will it resolve the issue?

3. How to track issues in subjob (child) to trigger tDie.

 

 

 

Anonymous
Not applicable
Author

Can you share a screenshot of your child job?

Anonymous
Not applicable
Author

Hi @rhall,

 

Below is the child job screenshot, (same job, different portions)

0683p000009M6Bk.jpg0683p000009M6oi.jpg0683p000009M6u1.jpg

rmartin2
Creator II
Creator II

Hi !

 

Seeing your job, 2 things are to check/change :

  • When you detect an error, use tDie not tWarn
  • You need to check if the subjob  in the middle this job propagate their errors

If you can also add the location of your error and the type, it could help.

 

Sincerely,

Anonymous
Not applicable
Author

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.

Anonymous
Not applicable
Author

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

0683p000009M6mv.jpg

capture errors to table

0683p000009M6uB.jpg

 

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,

0683p000009M6uG.jpg

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)