Showing posts with label dts. Show all posts
Showing posts with label dts. Show all posts

Tuesday, March 27, 2012

Foreach loop process error

Hello,

In a Foreach loop component, i have this message at 2nd or 3rd loop but never at first.


[DTS.Pipeline] Error: The ProcessInput method on component "Sort" (716) failed with error code 0x80004005. The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running.

Does anyone can help me ?

Coroebus wrote:

Hello,

In a Foreach loop component, i have this message at 2nd or 3rd loop but never at first.


[DTS.Pipeline] Error: The ProcessInput method on component "Sort" (716) failed with error code 0x80004005. The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running.

Does anyone can help me ?

I *may* be wrong but I believe this is a known bug and has been fixed in the next CTP. Something to do with the Sort component grabbing too much memory when used inside a Foreach loop.

-Jamie|||Yes, we have fixed some of these already. It would be great if you can confirm this when the new CTP comes out.

thanks!|||

Ash Sharma wrote:

Yes, we have fixed some of these already. It would be great if you can confirm this when the new CTP comes out.

Any sharable info on when that might take place?

Friday, March 23, 2012

ForceExecutionResult is ignored by parent

1 Add a Sequence Container.
2 Add a Script Task to the contianer, and set the script to fail, Dts.TaskResult = Dts.Results.Failure
3 Set the ForceExecutionResult on the Script to Success.
4 Execute the package.

The container fails, so it detects the Dts.Results.Failure, and ignores ForceExecutionResult. The task itself is Green, so that indicates success. I think this is wrong, as ForceExecutionResult should be observed by both the task and parent container. Not that it should matter, I think, FailParentOnFailure is false. By design? (Sep CTP)
Ok, so there is a simpler issue here. The sequence container takes no notice of the ForceExecutionResult. Try a container with a simple task that always succeeds. Set ForceExecutionResult on the container to Failure, and the container still succeeds (goes green).|||

Containers don't fail because their children fail. Containers fail because one of their settings (MaxErrorCount, FailParentOnFailure, etc) mandates it to fail.

The task isn't raising an error. So MaxErrorCount doesn't take effect. A failed task doesn't fail the parent by default. Neither is FailParentOnFailure set to true.

Here, like the Disable/Enable, is a brute force method of making something happen. You've made the conceptual assumption that because tasks fail when they have errors, if the task is forced to look like it failed, the parent should behave the same as a task that failed because it had errors.

The feature does what it says and no more. It forces the return value to false. Nothing more. It effects only those features that key on the return value. Precedence constraints are effected by the execution result, failing the parent is not. Neither is there an error raised.

If you set fail parent or fail package on failure, it will fail the sequence.

If you return an error from the script task, it will fail the parent if MaxErrors is set to 1.

HTH,
K