To kick start the second half of 2023, ADF team has brought you major improvements in pipeline development and authoring experience. Specifically, we now allow you to comment out part of your pipeline, without deleting the definition.
Introducing Deactivating and Reactivating Activities. Deactivate one or more activities from a pipeline, and we skip them during validation and during pipeline run. And you may choose to reactivate these activities at a later time.
An inactive activity behaves differently in a pipeline.
On canvas, the inactive activity is grayed out, with _Inactive sign_ placed next to the activity type.
On canvas, a status sign (Succeeded, Failed or Skipped) is placed on the box, to visualize the Mark activity as setting.
The activity is excluded from pipeline validation. Hence, you don't need to provide all required fields for an inactive activity.
During debug run and pipeline run, the activity won't actually execute. Instead, it runs a place holder line item, with the reserved status Inactive.
The branching option is controlled by Mark activity as option. In other words:
if you mark the activity as Succeeded, the UponSuccess or UponCompletion branch runs.
if you mark the activity as Failed, the UponFailure or UponCompletion branch runs
if you mark the activity as Skipped, the UponSkip branch runs
An inactive activity never actually runs. This means the activity won't have an error field, or its typical output fields. Any references to missing fields will throw errors downstream.
There are 2 ways to deactivate an activity.
First, you may deactivate a single activity from its General tab.
Select the activity you want to deactivate
Under General tab, select Inactive for Activity state
Pick a state for Mark activity as. Choose from Succeeded, Failed or Skipped
Alternatively, you can deactivate multiple activities with right click.
Press down Ctrl key to multi-select. Using your mouse, left click on all activities you want to deactivate.
Right click to bring up the drop down menu.
Select Deactivate to deactivate them all.
To fine tune the settings for Mark activity as, go to General tab of the activity, and make appropriate changes.
In both cases, you do need to deploy the changes to deactivate the parts during pipeline run.
Deactivation is a powerful tool for pipeline developer. It allows developers to "comment out" part of the code, without permanently deleting the activities. It shines in following scenarios:
When developing a pipeline, developer can add place holder inactive activities before filling all the required fields. For instance, I need a Copy activity from SQL Server to Data warehouse, but I haven't set up all the connections yet. So I use an _inactive_ copy activity as the place holder for iterative development process.
After deployment, developer can comment out certain activities that are constantly causing troubles to avoid costly retries. For instance, my on-premises SQL server is having network connection issues, and I know my copy activities fail for certain. I may want to deactivate the copy activity, to avoid retry requests from flooding the brittle system.