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