Hi @Kothai Ramanathan ,
Thanks for posting the question.
When we have success and failure flows and if any activities under success flow are skipped, the pipeline shows as "Failed". If the child pipeline fails, by design, the parent pipeline also fails. This scenario can be avoided by using skip connector between every success flow activity and failure flow activity indicating to ADF that they can be skipped. In this case when files are not found as well, parent pipeline would not fail. Kindly check the below snap for the same.
Couple of workarounds to avoid this scenario would be as below.
- 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". However, this has limitation that we cannot use 'Foreach activity' inside IF activity. Ex: activity('Copy_Activity1').output.executionDetails[0].status
- To have parent pipeline 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 me know for more questions and I will be glad to assist further.