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

Reply via email to