Unintuitive behaviour with FailPackageOnFailure & FailParentOnFailure
I would expect that these 2 properties would have the same effect when the parent of the task in question is the package container (i.e. there are no sequence/for each/for loop containers between the task in question and the package). This is not the case. Here's a simple demo. I have a package which uses a checkpoint file. It has 3 tasks with OnSuccess precedence constraints: [Succeeds1]-->[Fails]-->[Succeeds2] Iset all 3 tasks to have FailPackageOnFailure=TRUE. The package fails on task [Fails] and upon restart [Succeeds1 is not executed and [Fails] will fail again. This is all as expected. HOWEVER, if [Fails] has FailPackageOnFailure=FALSE and instead FailParentOnFailure=TRUE we don't get the same behaviour. The checkpoint file never gets written and upon restart [Succeeds1] will always get executed. This is nOT expeced behaviour (not by me anyway). It seems strange to me that FailPackageOnFailure & FailParentOnFailure cause different behaviour when the parent of the task is the package itself. Surely in this scenario these properties should have the same effect? Can anyone from MSFT explain why they are different? Thanks Jamie P.S. I can provide a demopackage. Just email me! [Microsoft follow-up]
May 24th, 2007 3:25am

Hi Jamie, The current checkpoint design gives special meaning to the "FailPackageOnFailure" property on tasks. The simplest way to say it is, if you want your package to be restartable on a given task, that task's FailPackageOnFailure property must be set to 'true'. If it's not, and that task fails, no checkpoint will be recorded. If FailPackageOnFailure is set to false, but that failure causes a container to fail which has this property set to true, then execution should resart with that container (exception: the sequence container doesn't behave that way right now, hence the defect I filed w.r.t your post a couple of weeks ago). -David
Free Windows Admin Tool Kit Click here and download it now
May 29th, 2007 8:51pm

Thanks for the reply David. I think there needs to be better documentation about what these propertiesdo w.r.t. checkpoints. Intuitively thereshould not be adifference between these two properties in the scenario I gave earlier - but clearly there is. The best way I can think of describing it is to say that there is the package and there is the package container. The two are not the same. What do you think? -Jamie
June 9th, 2007 8:07pm

So it's a repeat the task or repeat the container type of thing, but you are right the Sequence does not behave as expected. Edit... actually I take that back Sequence does behave as a "sequence" should... I have Task1, Task2, Task3 inside of a Sequence and tasks have FailParentOnFailure=True and sequence has FailPackageOnFailure=True. If Task1 fails a checkpoint restart will execute Task2, if Task2 fails then a checkpoint restart will execute Task3..... in sequence.... This behavior gives me the opportunity to resolve the failed task manually and then a checkpoint restart would continue on.
Free Windows Admin Tool Kit Click here and download it now
March 5th, 2011 7:09am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics