Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion airflow-core/src/airflow/models/connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,20 @@
from airflow.exceptions import AirflowException, AirflowNotFoundException
from airflow.models.base import ID_LEN, Base
from airflow.models.crypto import get_fernet
from airflow.sdk.exceptions import AirflowSecretsBackendAccessDenied

# AirflowSecretsBackendAccessDenied was added to task-sdk in 1.2.2. When
# airflow-core is installed alongside an older published task-sdk (e.g. 1.2.1 or earlier),
# the import fails at module load time. The fallback class is never raised by
# old task-sdk, so the except clause below simply never fires — behaviour is
# identical to pre-1.2.2 task-sdk.
try:
from airflow.sdk.exceptions import AirflowSecretsBackendAccessDenied
except ImportError:

class AirflowSecretsBackendAccessDenied(PermissionError): # type: ignore[no-redef]
"""Compat stub — never raised by task-sdk <1.2.2."""


from airflow.utils.helpers import prune_dict
from airflow.utils.log.logging_mixin import LoggingMixin
from airflow.utils.session import NEW_SESSION, provide_session
Expand Down
15 changes: 14 additions & 1 deletion airflow-core/src/airflow/models/variable.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,20 @@
from airflow.configuration import conf, ensure_secrets_loaded
from airflow.models.base import ID_LEN, Base
from airflow.models.crypto import get_fernet
from airflow.sdk.exceptions import AirflowSecretsBackendAccessDenied

# AirflowSecretsBackendAccessDenied was added to task-sdk in 1.2.2. When
# airflow-core is installed alongside an older published task-sdk (e.g. 1.2.1 or earlier),
# the import fails at module load time. The fallback class is never raised by
# old task-sdk, so the except clause below simply never fires — behaviour is
# identical to pre-1.2.2 task-sdk.
try:
from airflow.sdk.exceptions import AirflowSecretsBackendAccessDenied
except ImportError:

class AirflowSecretsBackendAccessDenied(PermissionError): # type: ignore[no-redef]
"""Compat stub — never raised by task-sdk <1.2.2."""


from airflow.secrets.metastore import MetastoreBackend
from airflow.utils.log.logging_mixin import LoggingMixin
from airflow.utils.session import NEW_SESSION, create_session, provide_session
Expand Down
Loading