Actually that's an extremely good point and I agree with Elad here.

If we commit to something as first priority, we should treat issues we have
with it with priority.
There is another - very similar - issue with on_kill handling for
deferrables that I just recalled.

The issue is here: https://github.com/apache/airflow/issues/36090 that
Matthew Wicks has been following on multiple times, and proposed a way to
approach it in general way - but the only solution we were able to come up
with was to implement workaround in a few deferrable operators.

I am here with Elad that until we solve this and prioritise other issues
there, making deferrable a default is a bad idea.

J.




On Wed, Nov 20, 2024 at 6:56 PM Elad Kalif <elad...@apache.org> wrote:

> I don't think deferrable can act as a replacement at this point.
> Removing/changing defaults of poke and reschedule in favor of deferrable
> means that deferrable becomes a critical feature. This means that any bug
> related to it must be triaged and fixed ASAP.
> We are not there yet. I don't think many maintainers know this area of the
> code.
>
> In my perspective as a user I have a functionality that is working fine. I
> learned to trust it. I know how it behaves and am able to write code
> efficiently with it. The suggested replacement is a feature that has 30ish
> bug reports with little community focus. That is a lot of risk with small
> profit to gain. For me this is an indication of -1 to this proposal.
>
> For example issue https://github.com/apache/airflow/issues/36734 with
> suggested PR: https://github.com/apache/airflow/pull/33718
> I admit I am not into the details but if we accept this proposal this bug
> becomes top priority problem and this is open since 2023.
>
> So my position is -1 for any change about poke and reschedule (even for
> changing defaults).
>
>
>
> On Thu, Nov 14, 2024 at 10:28 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>
> > > I think that if we have implemented async for an operator, we should
> > remove
> > the non-async version.
> >
> > I think we all agree here. The question is only "when". I see two
> options:
> >
> > 1) When Airflow 3 is released
> > 2) When Airflow 2 stops being supported
> >
> > I'd be for 2) .
> >
> > Why? Because it has the least impact on our users while it does not make
> > our life much harder, while we might commit to clean-up eventually.
> >
> > I personally (with my ADHD personality twist) often have an urge to fix
> > things "now". It's very rewarding and has great "feedback" of feeling
> > better. But I think the next best thing is to have a clear timeline to
> > remove things like that and relentlessly follow it through. And it has
> the
> > added benefits of avoiding surprises for users who follow our decisions
> and
> > policies.
> >
> > I think the biggest problem I have with things that are deprecated are
> not
> > that they are lying around, but with the feeling that they will stay
> there
> > forever (aka - we will not clean our technical debt). I think having a
> > policy when we remove things and following that, avoids that problem (as
> > long as we do follow).
> >
> > See for example this PR for Google Provider that Max opened today:
> > https://github.com/apache/airflow/pull/43953.= ~ -8000 lines of code we
> > will not have to maintain. and whoever followed it, they had 5 months or
> so
> > to adjust as Google team set some rules for that and in most cases set
> > the deprecation date. This is cool. Most of those warnings have a
> > "planned_removal_date" set.
> >
> > And I think it also shows our maturity - that we do not "jump" on
> changing
> > something, but we plan it, we have a reason behind it, whe know why we
> are
> > doing it. what are consequences to our users, and follow through, giving
> > enough warning to the users (those who care to listen).
> >
> > And the more we do it, the more we plan and announce in advance and
> > relentlessly follow it through, the more our users will listen to those
> > things.
> >
> > J.
> >
> >
> > On Thu, Nov 14, 2024 at 4:12 PM Daniel Standish
> > <daniel.stand...@astronomer.io.invalid> wrote:
> >
> > > To me, I don't really mind reschedule mode so much.  But I *really
> *don't
> > > like that we have *both* styles implemented in operators (talking about
> > > providers here).
> > >
> > > I think that if we have implemented async for an operator, we should
> > remove
> > > the non-async version.
> > >
> > > And we should remove the `deferrable` param for 3.0 -- this is
> something
> > > that to me makes no sense, since it implies that sensors should have
> both
> > > ways implemented.
> > >
> > > But users should still be allowed to write rescheduling sensors.
> > >
> >
>

Reply via email to