There's nothing we can add in to the provider for this case -- as if the user tries `@task.docker` on Airflow 2.1 no code in the provider is ever run.

-a

On Thu, Sep 30 2021 at 12:03:34 +0200, Jarek Potiuk <[email protected]> wrote:
On Thu, Sep 30, 2021 at 10:46 AM Ash Berlin-Taylor <[email protected] <mailto:[email protected]>> wrote:
The new docker provider will still install and work on Airflow 2.1 -- the only change is to add a new field to the provider info dict (`task-decorators`) that Airflow 2.2 will read, but that Airflow 2.1 will use.

If you try to use `@task.docker` in Airflow it will fail with "_TaskDecorator has no property docker" which I think is fair -- and the docs about this feature say (<http://apache-airflow-docs.s3-website.eu-central-1.amazonaws.com/docs/apache-airflow/latest/tutorial_taskflow_api.html#using-the-taskflow-api-with-docker-or-virtual-environments>):


Right - if using the task.docker in Airflow 2.1 is not a silent ignore but a failure, then I agree - we should not bump the minimum version.
I guess however that we could give a clearer error message?

We've had too many of those cases where our error messages did not really tell the user what is the reason - resulting in the users opening issues and asking "I have no idea what this is about" (which I believe will happen in this case).

Is it possible to add it quickly before we release the provider? Something like ("Note That this decorator only works for Airflow 2.2+ - if you use an earlier version please migrate to 2.2 or above)"

J.



Reply via email to