Refactor the Design of AzureSynapsePipeline class - #36622
Conversation
|
While working on this PR, I encountered a warning indicating that two classes, namely To resolve this issue, I propose deprecating the My question is whether there are any specific protocols or best practices to follow when deprecating a class. |
f8bfd22 to
7b8ca99
Compare
* Introduce a new base class to support common connection to Azure Synapse * Improves code maintainability * Update Provider.yaml to support BaseAzureSynapseHookClass
* Reset the synapse pipeline connection type
7b8ca99 to
de369d0
Compare
| :param azure_synapse_workspace_dev_endpoint: The Azure Synapse Workspace development endpoint. | ||
| """ | ||
|
|
||
| conn_type: str = "azure_synapse_pipeline" |
There was a problem hiding this comment.
could this lead to a breaking change? Is deprecation necessary before implementing the change?
There was a problem hiding this comment.
yes, it is always good to deprecate it before removing it. Breaking change gets released in only major release
There was a problem hiding this comment.
We can decide on Major release for Azure provider if there is good argument in favor of it.
There was a problem hiding this comment.
I'm considering reverting this change and instead adding a deprecation warning for the upcoming release.
There was a problem hiding this comment.
Could you guide me through the process of introducing this breaking change and ensuring a smooth transition for users in the major release?
There was a problem hiding this comment.
To introduce breaking change you need to add 9.0.0 in provider.yaml:
airflow/airflow/providers/microsoft/azure/provider.yaml
Lines 24 to 25 in f6e357a
And at the top of the change log:
Add 9.0.0 with braking change title
in the content you need to explain the change and provide instructions for users how to migrate from the previous version to the current version. You can see the changelog file for examples for previous major versions
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 5 days if no further activity occurs. Thank you for your contributions. |
This PR intends to:
Introduce
BaseAzureSynapseClassas the parent class for better code maintainability in Azure Synapse Hooks.The base class will manage the common connection form, enabling child classes to inherit and share this connection form while implementing individual functionalities.
Add managed identity support to DefaultAzureCredential.