Parent package calling concurrent Child Packages doesn't fail when child fails

  • Hi, I have a dynamic child package that gets called concurrently  by a parent.

    I have deliberately set the FailParentOnFailure to true on the execute package step of each load yet when one child fails, the parent still carries on with the other child.

    I have done some reading around this but can't find a concrete solution that takes into account concurrent child packages.

    Does anyone have any ideas please?

    Cheers,

    Dave

  • You have two (or more) child packages running in parallel.

    Your requirement is that if one of the child packages fails, processing stops immediately ... is that correct?

    If so, I don't think it can be done. Once a package is executing, it pretty much looks after itself and does not respond to external software interrupts.  The parent package will fail, eventually, once all of the parallel child packages have finished executing.

    You can code round this, to a point, by writing and polling some sort of shared log table within your packages ... but this still won't force an interrupt.

    I'm not 100% certain of the above, but that is my experience. If others know better, please post.

    The absence of evidence is not evidence of absence.
    Martin Rees

    You can lead a horse to water, but a pencil must be lead.
    Stan Laurel

  • Hi Phil, thanks for replying. This is exactly what I thought.  This is all at a POC level so far.

    I originally had my dimensional loads running in sequence but the business now requires parallel loads. Obviously, if I had 10 dimensions loading in parallel, if one failed I didn't want to wait for the other 9 to finish before logging a failure but it seems to be a moot point unless I put a check in between each step of each dimensional load to test for a failure but that seems a little overkill.

    Cheers,

    Dave

  • david_h_edmonds wrote:

    Hi Phil, thanks for replying. This is exactly what I thought.  This is all at a POC level so far.

    I originally had my dimensional loads running in sequence but the business now requires parallel loads. Obviously, if I had 10 dimensions loading in parallel, if one failed I didn't want to wait for the other 9 to finish before logging a failure but it seems to be a moot point unless I put a check in between each step of each dimensional load to test for a failure but that seems a little overkill.

    Cheers,

    Dave

    One possible solution ... which I don't particularly like ... would be to load the dims in parallel in a single package.

    The absence of evidence is not evidence of absence.
    Martin Rees

    You can lead a horse to water, but a pencil must be lead.
    Stan Laurel

  • Yep, I don't like that either!

    Cheers,

    Dave

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply