Since this executor was part of the Airflow core a few months ago, should
we maintain security patches for a reasonable period after officially
announcing its suspension?

On Wed, Nov 15, 2023 at 3:32 PM Jarek Potiuk <ja...@potiuk.com> wrote:

> Hello Everyone,
>
> I would like to start discussion about potential suspension and eventually
> removal of Daskexecutor provider.
>
> After some recent changes and moving DaskExecutor from core to provider we
> have now an open option to suspend and eventually remove Dask Executor from
> our codebase.
>
> After we have the process tested and tried with Qubole, for me this is the
> next candidate to remove and get rid of some burden it involves.
>
> I believe this executor is hardly used by anyone - IMHO it does not really
> add a value to our Executor's offering and it causes a number of CI/
> maintenance issues for us, while we have little to no experience and
> incentive and knowledge to manage it. It slows us down, makes our CI flaky,
> sometimes delays our release process etc etc.
>
> Some of the past discussions about it (this is the third time I am (re)
> starting this discussion - the first time it was in 2020 when we discussed
> removing it for Airflow 2.0.
>
> * https://lists.apache.org/thread/6stgcpjt5jb3xfw92oo1j486j33c8v7m
> * https://lists.apache.org/thread/875fpgb7vfpmtxrmt19jmo8d3p6mgqnh
>
> Some of the recent problems with Dask executor impacting stability of our
> CI / tests/ impacting release process are manifested in those issues and
> PRs over the last few years (and this is just a subset of issues and PRs
> dealing with the stability of it.
>
> * https://github.com/apache/airflow/pull/35659
> * https://github.com/apache/airflow/issues/32778
> * https://github.com/apache/airflow/pull/35473
> * https://github.com/apache/airflow/pull/32991
> * https://github.com/apache/airflow/pull/30258
> * https://github.com/apache/airflow/pull/22046
> * https://github.com/apache/airflow/pull/22017
>
>
> Why now? What changed?
>
> One of the fantastic properties of the "providers" approach and moving the
> executor from core to provider - we can now ACTUALLY remove DaskExecutor
> without breaking any of our SemVer promises. This is something I was
> working on for quite a while and with some of the recent changes - making
> our Executor API stable and part of our public interface, introducing full
> life-cycle process for providers this is now entirely possible to remove
> all the maintenance burden while keeping our SemVer promises - so that we
> can do it without bumping Airflow to version 3.
>
> How does it work ? Simply - provider will remain released, and it will
> remain working in the version it has been released for the last time with
> all the future versions of Airflow, But at the same time we can remove the
> code from main of Airflow, stop running tests, stop caring about the
> provider impacting the constraints and generally speaking.
>
> If we decide to do somethin about, we have three options:
>
> 1) Suspend the daskexecutor provider
> 2) Remove it
> 3) We can also follow Suspend -> wait few months -> remove) pattern
>
> All of them are easy, all of them bring us much welcome relief in our
> release and CI and maintenance burden. All of them are well documented and
> tried and all that we need is just to agree which scenario we want to
> follow.
>
> In case 1) we will stop releasing new versions, but in case any new
> "development" is done on the dask side that will break currently released
> providers, it will be on someone who will take on the task to bring it back
> from suspension - fix all dependency issues, make sure tests are green and
> then it's just a matter of PR to bring it back. This is really a way to say
> "Hey Dask Executor community, if you want to keep any future development,
> it's on you to bring it back from suspension and take the task to solve all
> the difficulties we currently have to leave with in Airflow community".
>
> In case 2) we deliberately decide we do not want to maintain it any more
> and if someone would like to bring it back, they will have to convince the
> community and get the VOTE or LAZY CONSENSUS to bring it back (and then it
> could be even different provider package, not compatible etc.).
>
> WDYT? Are there any DaskExecutor users around or someone you know of who
> would rely on it heavily? Are there any reasons why we should keep it as is
> ? Which of the above scenarios would you like to see?
>
> I would love to hear your opinions on that. If we see that we would like to
> follow 1) or 2) I am happy to pass the message to the Dask community and
> let them know that they will need to be involved in case they will want to
> bring back Dask from suspension or removal - I did that before for some of
> the past issues and I am happy to be the messenger (hopefull no-one shoots
> me).
>
> J.
>

Reply via email to