amoghrajesh commented on PR #69524:
URL: https://github.com/apache/airflow/pull/69524#issuecomment-4911350019
Good point @vincbeck, and you arre right that its ambiguous as written.
`self.deferrable` here cannot tell the difference between "the user wrote
deferrable=True" and "the environment's default_deferrable config resolved it
to True", both look identical by the time `__init__` runs.
I thought about fixing that distinction (e.g. defaulting deferrable to None
and only warning when it was explicitly passed), but that pattern `deferrable:
bool = conf.getboolean("operators", "default_deferrable", fallback=False)` is
used identically across ~100 other operators just in this provider. Making
`RedshiftDataOperator` behave differently from all of them felt like a bigger,
more invasive change than this PR should make just to add a courtesy warning.
So I plan to rather keep this scoped to what it is: a heads up for the
common case of someone writing this contradiction directly. If an environment
sets `default_deferrable=True` globally and also uses
`wait_for_completion=False` a lot, yes, they'll see this warning but I'd like
to argue that is not entirely wrong either: it is accurate information that
their environment wide default is a no-op for those tasks.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]