Might be a good idea, yes.

On Tue, Jun 24, 2025 at 9:09 PM Jens Scheffler <j_scheff...@gmx.de.invalid>
wrote:

> Hi Jarek,
>
> one thought came into my mind... as you said it is a lot of trouble to
> find which "dev" PR might be missing on a mainteance branch... should we
> cherry-pick dev tooling PRs by default as well to active maintenance
> branches? I mean... automating this in the CI like if `backport to`label
> is set?
>
> Jens
>
> On 24.06.25 11:38, Jarek Potiuk wrote:
> > https://github.com/apache/airflow/pull/52148 -> Proposed PR. Let's
> iterate
> > there if there are comments.
> >
> > On Tue, Jun 24, 2025 at 11:25 AM Jarek Potiuk <ja...@potiuk.com> wrote:
> >
> >> Yeah. I think what I am really after is  expressed by Wei: +0.5 vote -
> >> i.e. we should be fine with **some** selected cherry-picks that are not
> >> bug-fixes that we proactively cherry-pick and do not "complain" that
> this
> >> is wrong because technically it's not a bugfix. I think It would be
> great
> >> if in every such cherry-pick we rationalise why we are doing it:
> >>
> >> "I know it's not a bugfix, but because this is an actively developed
> part
> >> that is cherry-picked heavily, let me cherry-pick that one to make it
> >> easier for others to cherry-pick bugfixes".
> >>
> >> If we are all on-board with that (seems so) then I can update the
> >> cherry-pick description to add it as possible exception.
> >>
> >> J.
> >>
> >> On Tue, Jun 24, 2025 at 10:14 AM Kaxil Naik <kaxiln...@gmail.com>
> wrote:
> >>
> >>> It looks like everyone is mostly on the same page based on all the
> emails
> >>> -
> >>> so no comments :) .
> >>>
> >>> On Tue, 24 Jun 2025 at 07:45, Wei Lee <weilee...@gmail.com> wrote:
> >>>
> >>>> I’m +1 for 1-3 (assuming the doc changes relate to the backported
> >>> version).
> >>>> +0.5 for 4. I hope that changes not related to new features will be
> >>>> backported when feasible; however, we can skip them if the required
> >>> effort
> >>>> is substantial. This is because failing to backport these items could
> >>>> potentially lead to future conflicts with points 1 or 3.
> >>>>
> >>>> Best,
> >>>> Wei
> >>>>
> >>>>> On Jun 24, 2025, at 5:32 AM, Jens Scheffler
> >>> <j_scheff...@gmx.de.INVALID>
> >>>> wrote:
> >>>>> I am +1 for (1) to (3) [also assuming that (2) is mostly like a doc
> >>>> bugfix!]
> >>>>> For (4) I am hesitant and would rather be conservative. Every
> >>>> cherry-pick has a risk to break something in old codebase. As branches
> >>>> change over time and backport PRs are clearly less cautious reviewed
> it
> >>>> might lead to introduced inconsistencies which might not be covered in
> >>>> tests. I would also not back-port just for the sake of easier later
> >>>> maintenance for other cherry-picks. But for (4) the rule might not be
> >>> too
> >>>> strict and every rule is made for exceptions which in (4) might be
> >>> likely.
> >>>> But I would not advertise to backport refactorings if no clear
> benefit.
> >>>>> On 23.06.25 15:33, Pavankumar Gopidesu wrote:
> >>>>>> Thanks Jarek, for starting this discussion,
> >>>>>>
> >>>>>> I agree with all the points.
> >>>>>>
> >>>>>> The real intention behind to backport
> >>>>>> https://github.com/apache/airflow/pull/51992 is , this area has a
> >>> lot
> >>>> of
> >>>>>> ongoing development going and I felt it's worth porting to
> v3-0-test.
> >>>>>> I myself faced situations where I tried to backport some doc changes
> >>> , I
> >>>>>> failed because of conflicts that previous changes were not ported
> >>> back
> >>>> on
> >>>>>> the same file etc or conflicts with some lines.
> >>>>>> So I am very strong on this if there are any areas with heavy
> >>>> development
> >>>>>> activity going. I feel it's worth backporting the changes and IMHO i
> >>>>>> don't see any problem.
> >>>>>>
> >>>>>> Pavan
> >>>>>>
> >>>>>>
> >>>>>> On Mon, Jun 23, 2025 at 2:23 PM Jarek Potiuk <ja...@potiuk.com>
> >>> wrote:
> >>>>>>>> I think We are approaching it from the same point of view, just
> >>> that
> >>>> we
> >>>>>>> have different conclusions.
> >>>>>>>
> >>>>>>> I agree. I think that simply there is one special case that we
> >>> should
> >>>>>>> "allow". Details below.
> >>>>>>>
> >>>>>>>> For 4, I do not have strong opinions on either front, but defining
> >>>> what
> >>>>>>> to
> >>>>>>>> do and what not should
> >>>>>>>> probably be that if that change makes it easy to backport
> something
> >>>> else,
> >>>>>>>> maybe have it?
> >>>>>>> Yep. That's **exactly** my proposal. I do not want to backport
> >>> **all**
> >>>>>>> refactorings. That would be stupid. In my definition of 4. I want
> to
> >>>>>>> cherry-pick those pre-commit when it's small, and automated and
> when
> >>>> we can
> >>>>>>> easily anticipate it will make it quite likely someone (soon) will
> >>> do
> >>>>>>> another cherry-pick that will be conflicting.
> >>>>>>>
> >>>>>>> Yes. It's not "0/1" and quite a bit personal judgment, and yes it
> >>>> **might
> >>>>>>> not** result in conflict (so we might end up with YAGNI), but I
> >>> think
> >>>> we
> >>>>>>> should define (and trust committers judgment) when they do it,
> >>> because
> >>>> they
> >>>>>>> want to prevent "others" to have problems.
> >>>>>>>
> >>>>>>> For example in case of
> https://github.com/apache/airflow/pull/51992
> >>>> -> the
> >>>>>>> only reason why I think it makes sense to cherry-pick it is because
> >>> it
> >>>> is
> >>>>>>> in the area of task-sdk that has been recently bug-fixed quite a
> >>>> number of
> >>>>>>> times and there are open related issues to this area that make it
> >>>> (IMHO)
> >>>>>>> quite likely to result in conflict. I think there are other areas
> >>> like
> >>>> that
> >>>>>>> (UI for example) where we clearly cherry-pick a number of changes,
> >>>> because
> >>>>>>> there are some pretty active "bug-fixing" in this area as 3.0 had
> >>>> still a
> >>>>>>> number of low priority but either known or anticipated bugs that
> are
> >>>> likely
> >>>>>>> to be fixed in 3.0.3, 3.0.4
> >>>>>>>
> >>>>>>> So just to clarify - I do not want to cherry-pick "all"
> refactoring,
> >>>> but
> >>>>>>> leave to the judgment of the commiter merging the request (and
> >>> author)
> >>>> to
> >>>>>>> decide to cherry-pick such change anticipating it will make life
> >>>> easier for
> >>>>>>> others.
> >>>>>>>
> >>>>>>> J
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On Mon, Jun 23, 2025 at 2:57 PM Amogh Desai <
> >>> amoghdesai....@gmail.com>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> Agree with point 1 - 3 definitely.
> >>>>>>>>
> >>>>>>>> For 4, I do not have strong opinions on either front, but defining
> >>>> what
> >>>>>>> to
> >>>>>>>> do and what not should
> >>>>>>>> probably be that if that change makes it easy to backport
> something
> >>>> else,
> >>>>>>>> maybe have it?
> >>>>>>>>
> >>>>>>>> For ex:
> >>>>>>>> *PR 1 changes file1.py and file2.py*
> >>>>>>>> *PR 2 changes some lines in file2.py*
> >>>>>>>>
> >>>>>>>> *We backport PR 1 as it's a bug fix and do not for PR 2 as its
> some
> >>>>>>>> refactoring.*
> >>>>>>>>
> >>>>>>>> *Now while trying to backport PR 3 (bugfix), it conflicts and
> needs
> >>>> PR 2
> >>>>>>> to
> >>>>>>>> be picked*
> >>>>>>>> *to land PR 3.*
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Thanks & Regards,
> >>>>>>>> Amogh Desai
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Mon, Jun 23, 2025 at 5:02 PM Ash Berlin-Taylor <a...@apache.org
> >
> >>>>>>> wrote:
> >>>>>>>>> I think We are approaching it from the same point of view, just
> >>> that
> >>>> we
> >>>>>>>>> have different conclusions.
> >>>>>>>>>
> >>>>>>>>> Points 1-3 I agree with.
> >>>>>>>>>
> >>>>>>>>> We do already have this written up
> >>>>>>>>>
> >>>
> https://github.com/apache/airflow/blob/130e9600443e06c08acc1b28c69a62c858d6e6a2/dev/README_RELEASE_AIRFLOW.md?plain=1#L116-L129
> >>>>>>>>> On 4 I think of it in terms that “every change carries some risk”
> >>> —
> >>>> in
> >>>>>>>> the
> >>>>>>>>> linked example of 51992 the risk is almost zero, but generally:
> >>> 3.0.x
> >>>>>>> are
> >>>>>>>>> meant to be bug fix releases on top of 3.0.0, and if it’s not
> >>> fixing
> >>>> a
> >>>>>>>> bug
> >>>>>>>>> we don’t back port it. The one exception I have to this is if the
> >>>>>>> change
> >>>>>>>> is
> >>>>>>>>> needed to make it easy to backport a change that is a bug without
> >>>>>>>> conflicts.
> >>>>>>>>> I think our default approach has to be we don’t back port a
> change
> >>>>>>> unless
> >>>>>>>>> it is fixing a bug, otherwise the risk of “oh I’ll just fix this”
> >>>> ends
> >>>>>>> up
> >>>>>>>>> introducing more bugs than we fix. Stability of a Minor release
> >>>> series
> >>>>>>> is
> >>>>>>>>> my primary desire, and not changing things more than we have to
> is
> >>>> the
> >>>>>>>> best
> >>>>>>>>> way I know of doing that.
> >>>>>>>>>
> >>>>>>>>> Things are slightly different now that we have automated
> >>> cherry-picks
> >>>>>>> but
> >>>>>>>>> I still don’t think it is worth porting refactoring
> automatically.
> >>>> It’s
> >>>>>>>>> extra change and risk for almost zero benefit to users is my
> view.
> >>>>>>>>>
> >>>>>>>>> -ash
> >>>>>>>>>
> >>>>>>>>>> On 23 Jun 2025, at 11:43, Jarek Potiuk <ja...@potiuk.com>
> wrote:
> >>>>>>>>>>
> >>>>>>>>>> BTW. I'd be happy to capture result of this discussion if we can
> >>> get
> >>>>>>>> to a
> >>>>>>>>>> consensus or vote eventually in the "cherry-picking" guidelines.
> >>>>>>>>>>
> >>>>>>>>>> On Mon, Jun 23, 2025 at 12:42 PM Jarek Potiuk <ja...@potiuk.com
> >
> >>>>>>>> wrote:
> >>>>>>>>>>> I wanted to start a discussion on "things that we cherry-pick"
> >>> (to
> >>>>>>>> vX_Z
> >>>>>>>>>>> branch).
> >>>>>>>>>>>
> >>>>>>>>>>> I think there are different opinions on what kind of changes
> >>> should
> >>>>>>> be
> >>>>>>>>>>> cherry-picked and it might be a good idea to agree on a common
> >>>>>>>> approach.
> >>>>>>>>>>> I think (following the comment of Ash here)
> >>>>>>>>>>>
> >>> https://github.com/apache/airflow/pull/51992#issuecomment-2995632849
> >>>>>>>>> that
> >>>>>>>>>>> we can use a very simplistic and (I'd say) dogmatic approach
> >>> "only
> >>>>>>>>>>> cherry-pick bug fixes. Full stop". But I believe (and past
> >>>>>>> experience
> >>>>>>>>> from
> >>>>>>>>>>> a lot of cherry-picking that I've been doing - multiple times
> >>>>>>> helping
> >>>>>>>> to
> >>>>>>>>>>> bring past branches to be green and spending countless hours on
> >>> it,
> >>>>>>>>> that it
> >>>>>>>>>>> should be a bit more nuanced.
> >>>>>>>>>>>
> >>>>>>>>>>> I would love to see what others think, but from my experience
> >>> those
> >>>>>>>> are
> >>>>>>>>>>> the things that we **should** cherry-pick:
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> 1) bug-fixes (of course)
> >>>>>>>>>>> 2) doc changes (when they are improvements or filling gaps)
> >>>>>>>>>>> 3) dev tool changes (every time we did not, it resulted in
> >>> hours of
> >>>>>>> my
> >>>>>>>>>>> time when things were breaking and I tried to reconcile it)
> >>>>>>>>>>> 4) results of automated refactorings that have very low risks
> >>> (in
> >>>>>>> the
> >>>>>>>>>>> areas that are likely to have cherry-picks)
> >>>>>>>>>>>
> >>>>>>>>>>> t) - is non-controversial I think
> >>>>>>>>>>>
> >>>>>>>>>>> 2) - is also relatively non-controversial and very low risk and
> >>>>>>> gives
> >>>>>>>>> our
> >>>>>>>>>>> users a chance to get better docs earlier (even today for
> >>> example I
> >>>>>>>>> cherry
> >>>>>>>>>>> picked this one: https://github.com/apache/airflow/pull/52068
> -
> >>>>>>>> because
> >>>>>>>>>>> one of my friends who tries to learn Airflow 3 pinged me that
> >>>>>>>>>>> "ConfiuguringRuff" link that we have in 3.0.2 leads to 404 NOT
> >>>> found
> >>>>>>>>>>> 3) - it had always bitten us if we stopped cherry-picking dev
> >>> tool
> >>>>>>>>>>> changes. The thing is that external dependencies change all the
> >>>> time
> >>>>>>>>> and we
> >>>>>>>>>>> are continuously catching up with those, also we improve, speed
> >>> up
> >>>>>>> and
> >>>>>>>>>>> simplify the tooling - and often things that worked when branch
> >>> was
> >>>>>>>> cut,
> >>>>>>>>>>> does not work today - countless, countless hours lost in one or
> >>> two
> >>>>>>>>>>> branches when we stopped doing it - I think even once or twice
> I
> >>>> had
> >>>>>>>> to
> >>>>>>>>>>> just copy over most (but not all) the code from main to the
> >>> branch
> >>>>>>> and
> >>>>>>>>>>> commit one single "catch-up dev tooling with main" big change
> >>>>>>>>>>>
> >>>>>>>>>>> 4) Is likely most controversial - example here:
> >>>>>>>>>>> https://github.com/apache/airflow/pull/51992/ - those are the
> >>> kind
> >>>>>>> of
> >>>>>>>>>>> (really small) changes that are done in "active" area (i.e.
> area
> >>>>>>> that
> >>>>>>>>> had
> >>>>>>>>>>> and will have a lot of cherry-picks anyway, but they are done
> >>> with
> >>>>>>>>>>> automated refactoring - like renaming variables and such. This
> >>>>>>>>> introduces
> >>>>>>>>>>> clarity and readability, so this is good we are doing them. But
> >>> if
> >>>>>>> we
> >>>>>>>> do
> >>>>>>>>>>> not cherry-pick them and then we cherry-pick any change that
> >>>> touches
> >>>>>>>> the
> >>>>>>>>>>> same code, this lead to a conflict. Conflicts are frustrating,
> >>>>>>>>> especially
> >>>>>>>>>>> those kinds - you never know what you should do - should you
> >>>> "merge"
> >>>>>>>>> this
> >>>>>>>>>>> naming change with your change? or should you leave the
> original
> >>>>>>>>> namiing,
> >>>>>>>>>>> or should you try to find the past commit that changed it and
> >>>>>>>>> cherry-pick
> >>>>>>>>>>> it as well? This paired with the fact that we are using
> >>>>>>> cherry-picker
> >>>>>>>>> that
> >>>>>>>>>>> allows to cherry-pick stuff very quickly, automatically and
> >>>>>>> painlessly
> >>>>>>>>> when
> >>>>>>>>>>> there are no conflicts, make me think that yes - we should
> >>> cherry
> >>>>>>>> -pick
> >>>>>>>>>>> those changes proactively as a service to those contributors
> who
> >>>>>>> will
> >>>>>>>>>>> follow up with their cherry-picking. It's just "good service"
> >>> and
> >>>>>>>>> helping
> >>>>>>>>>>> others who will come after you.
> >>>>>>>>>>>
> >>>>>>>>>>> That's how my definition of "what we should cherry-pick" is...
> >>>>>>>>>>>
> >>>>>>>>>>> I wonder what others think about it ?
> >>>>>>>>>>>
> >>>>>>>>>>> J.
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>> ---------------------------------------------------------------------
> >>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> >>>>>>>>> For additional commands, e-mail: dev-h...@airflow.apache.org
> >>>>>>>>>
> >>>>>>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> >>>>> For additional commands, e-mail: dev-h...@airflow.apache.org
> >>>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> >>>> For additional commands, e-mail: dev-h...@airflow.apache.org
> >>>>
> >>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> For additional commands, e-mail: dev-h...@airflow.apache.org
>
>

Reply via email to