Azure data factory pipeline run status "succeeded" when failed activity is followed by other activity (on failure / on completion)

Gunta Ledina 20 Reputation points
2020-12-07T21:31:26.763+00:00

It seems that Azure data factory has changed its behavior on pipeline status (failed/succeeded) based on its activities. Previously, if activity failed (even if followed by other activities "on failure"/"on completion"), pipeline run also would be marked as "failed". Today, I find that pipeline is marked as "succeeded" if failed activity is followed by another activity "on failure"/"on completion" and if the latter activity succeeds. Is this expected? Is there any documentation that describes this change? E.g., this pipeline's run: ![45914-image.png][1] [1]: /api/attachments/45914-image.png?platform=QnA is marked as succeeded.

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
11,624 questions
0 comments No comments
{count} votes

Accepted answer
  1. MartinJaffer-MSFT 26,236 Reputation points
    2020-12-08T20:37:39.19+00:00

    Hello anonymous user and welcome to Microsoft Q&A. Thank you for your question.

    Please allow me to explain the relation between pipeline successs/fail and activity success/fail.

    The reason why the failure of an activity does not necessarily force the failure of the pipeline, are the use cases where you might expect something to fail, but want to handle it with a retry or alternative business logic.

    The success/failure of a pipeline depends upon the dependencies attached to a failing activity. The shortest way to explain this is "If there is a success path, and that path is not taken, then the pipeline status is failure."

    If an activity fails, and there are no dependent activities following it, then the pipeline fails. (In other words, if the last activity in a pipeline fails, the pipeline fails.)

    If an activity fails, and it is followed only by another activity connected by a green on-success path, then the pipeline fails.

    If an activity fails, and it is followed only by another activity connected by a red on-failure path, then the pipeline succeeds.

    If an activity fails, and it is followed only by another activity connected by a blue on-completion path, then the pipeline succeeds.

    If an activity fails, and it is followed by two activities, one connected by a red on-failure path, the other connected by a green on-success path, then the pipeline fails.

    If an activity fails, and it is followed by two activities, one connected by a red on-failure path, the other connected by a blue on-completion path, then the pipeline succeeds.

    6 people found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.