Azure Synapse pipeline failure behavior

Psychotechnopath 51 Reputation points
2023-01-10T09:10:33.19+00:00

Hello, I'm running into issues regarding pipeline failures. Take a look at the following inner pipeline in a for-each loop:

277768-image.png

As you can see, the CheckAccessTokenValidity activity fails in this case, but it is handled gracefully and pipeline succesfully completes because the failure was properly anticipated and handled. However, in my outer pipeline run it still shows the pipeline as failed.

277862-image.png

Why is this? How do I circumvent or disable this behavior, as it is unintended. I want my pipelines to show status "success" if they sucessfully executed last activity in it.

Azure Synapse Analytics
Azure Synapse Analytics
An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
5,373 questions
Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
11,623 questions
{count} votes

1 answer

Sort by: Most helpful
  1. MartinJaffer-MSFT 26,236 Reputation points
    2023-01-10T20:07:30.927+00:00

    Hello @Psychotechnopath , Thanks for the question and using MS Q&A platform.

    As I understand, you are confused on the conditions for pipeline overall success / failure. You assert the inner pipeline succeeds. Could you please go to the monitoring tab and check the pipeline runs? This does not match my experience.

    In my experience, when execution reaches an activity with an on-success dependency coming out of it, and that path is not taken, then the pipeline status is failure. Example:

    278073-image.png 278044-image.png

    So, to avoid the success dependency from making the pipeline status come out as fail, I replace the success with 2 dependencies, an on-completion where the success used to be, and an on-skipped dependency from the on-failure dependency's activity. Image below.

    does-not-fail-pipeline

    The logic here, is that the success activity only executes when the preceding activity complete (no matter success or failure) AND the failure branch is NOT run. The failure branch does not run when the preceding activity succeeds.

    Please do let me if you have any queries.

    Thanks Martin

    • Please don't forget to click on 130616-image.png or upvote 130671-image.png button whenever the information provided helps you. Original posters help the community find answers faster by identifying the correct answer. Here is how
    • Want a reminder to come back and check responses? Here is how to subscribe to a notification
    • If you are interested in joining the VM program and help shape the future of Q&A: Here is how you can be part of Q&A Volunteer Moderators

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.