Nice, good discussion!

Thanks & Regards,
Amogh Desai


On Wed, Jun 25, 2025 at 12:57 AM Jarek Potiuk <ja...@potiuk.com> wrote:

> PR here to add backport label automatically for dev tools changes (and to
> maintain it with minor version upgrades)
> https://github.com/apache/airflow/pull/52189
>
> On Tue, Jun 24, 2025 at 9:14 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>
> > 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