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. > > >