Hi @Anonymous ,
Welcome to Microsoft Q&A Platform.
Pipeline status is considered as "Failed" if any activity in the success flow is skipped when it went in failure flow where as if the activities in Failure flow are skipped, the pipeline will still be "Successful" and this is as per design.
Couple of workarounds to avoid this scenario would be as below
- Adding skipped connector between every success path activity and failure path activity to let ADF know that success path activities can be skipped during failures. (Attached the GIF with skip connector)
- If it is activity other than 'set variable', 'If Condition' activity can be used to check the status of the activity with following example for "Copy Activity"
activity('Copy_Activity1').output.executionDetails[0].status
- To have parent pipeline and trigger the actual pipeline as child pipeline using "Execute Pipeline" activity and handle error logging in parent pipeline, but this has limitation if specific failed activity information is needed from Child Pipeline that caused the error.
There is a request for adding OR condition between success and failure flows in ADF similar to SSIS. Please consider to upvote the idea if you think its good feature to have. All the feedback you share, is closely monitored by the Product team and implemented in future releases.
35616982-allow-choosing-logical-and-or-logical-or-in-activi
)
Hope this helps! Please let us know for more queries on the same.
Please do consider to click on "Accept Answer" and "Up-vote" on the post that helps you, as it can be beneficial to other community members