+1 for this, IIRC Matthew suggested this kind of release too. 何品
Matthew de Detrich <[email protected]> 于2023年12月13日周三 07:06写道: > Apologies for necroing this topic, but there is one other feature I would > like to add to the M1 > milestone release which is > https://github.com/apache/incubator-pekko/pull/252. The reason I > am pointing out this issue specifically is that it is a breaking behaviour > change (all of the > details are in the PR) so it needs to land for the 1.1.x series, ideally > for M1 so we can figure > out if there are any behavioural regressions. > > On Mon, Nov 6, 2023 at 8:40 PM Matthew de Detrich < > [email protected]> wrote: > > > > Some of those changes will likely also need backporting for > > 1.0.x releases. > > > > Indeed, the rolling migration from Akka to Pekko clusters is actually a > > feature for 1.0.x, but because > > of how its designed (i.e. there is a configuration for the > sender/receiver > > address), this feature and > > configuration also needs to exist for Pekko 1.1.0 otherwise the user > > experience will be extremely > > unintuitive. > > > > > I don't think a 1.1.0-M0 is warranted. This git tag has code that is > > very similar to Pekko 1.0.1. I don't see the merit in having multiple > > ASF contributors having to review such a release. > > > > It trivializes MiMa management which is worth the annoyance of doing a > > release. There really > > isn't any other way without breaking ASF policy, we basically have to > make > > a release that is > > not a "real" release. > > > > One thing to note is this doesn't occur that frequently (i.e. M0 > > milestones), i.e. its only on a > > minor version bump and it can be argued that this release can be part of > > the formality of > > when we decide to make a 1.1.x branch, i.e. the community makes a > > decision/vote that > > at a certain point in time we are going to bump the minor version which > > requires a vote > > and that some vote is also used for the M0 release. > > > > In fact, now that I think/write about it, we really should have a formal > > vote when we make a > > minor version bump because it is a significant change, it shouldn't be > > done at whim (even > > if its from a PMC) > > > > > When I say LTS, I mean what versions will get patches for a long time. > > Java releases are a good example. If an org really needs a Java 22 > > feature they can use Java 22 in production - but they are expected to > > upgrade to Java 23, etc. when those versions are released until a new > > Java LTS is released. There are other OSS equivalents. I am not > > talking about Commercial Support contracts - commercial entities are > > very welcome to fill this gap - this does not need to relate directly > > to the FOSS releases from the ASF project team. > > > > I understand the difference between LTS and commercial contract, it's > just > > that > > even the variables for how long the support is, is something that I don't > > think > > we have any ability to estimate concretely now. In summary, in my view > > it's too > > soon to even be discussing this. > > > > > If the consensus is to delay Pekko 1.1 until every candidate change is > > made - then fine - but this stops users from using features that are > > ready to try, like the Netty 4 support. > > > > As discussed on the github issue[1], this is a non issue. A milestone > > release > > will cater to anyone who really needs netty4 and as stated, it's just as > > tested > > as any other Pekko release is. If people are really desperate for netty4, > > then > > they can use the milestone (I would also note that I haven't seen any > > indication that anyone is begging for netty4 right now). > > > > > Since Pekko 1.1.0 full release seems like a long way away, it might be > > worth considering mechanisms to release the most useful changes > > earlier - in a way that Pekko 1.0 users can uptake. > > > > This is what milestones are for, i.e. they are precisely the mechanism > > to solve this issue. It also solves a host of other issues as discussed > > here[2]. > > > > [1] https://github.com/apache/incubator-pekko/pull/778 > > [2] https://lists.apache.org/thread/o494q89hhg64r5nwv4rnq6fsx9zofmny > > > > On Sun, Nov 5, 2023 at 10:57 PM PJ Fanning <[email protected]> wrote: > > > >> I have no objections to the general list of changes that we need for > >> 1.1.0. Some of those changes will likely also need backporting for > >> 1.0.x releases. > >> > >> A 1.1.0-M1 release makes sense. I want to delay it by a week or 2 > >> while we decide what to do about the config logging (recent Akka CVE). > >> > >> I don't think a 1.1.0-M0 is warranted. This git tag has code that is > >> very similar to Pekko 1.0.1. I don't see the merit in having multiple > >> ASF contributors having to review such a release. > >> > >> I guess it is a separate conversation but there is a fair degree of > >> resistance to us dropping support for anything. I think we will need > >> to only drop support if it really makes things much easier for us. > >> Multi Release Jars seems like a better option than dropping Java 8 > >> support (for instance). > >> > >> When I say LTS, I mean what versions will get patches for a long time. > >> Java releases are a good example. If an org really needs a Java 22 > >> feature they can use Java 22 in production - but they are expected to > >> upgrade to Java 23, etc. when those versions are released until a new > >> Java LTS is released. There are other OSS equivalents. I am not > >> talking about Commercial Support contracts - commercial entities are > >> very welcome to fill this gap - this does not need to relate directly > >> to the FOSS releases from the ASF project team. > >> > >> If the consensus is to delay Pekko 1.1 until every candidate change is > >> made - then fine - but this stops users from using features that are > >> ready to try, like the Netty 4 support. > >> > >> Since Pekko 1.1.0 full release seems like a long way away, it might be > >> worth considering mechanisms to release the most useful changes > >> earlier - in a way that Pekko 1.0 users can uptake. > >> > >> > >> On Sun, 5 Nov 2023 at 12:59, Matthew de Detrich > >> <[email protected]> wrote: > >> > > >> > So my take on this > >> > > >> > - We should do milestones to solve the general problem you are > alluding > >> to, > >> > i.e. the M1 milestone that you suggest that we vote on (we should also > >> do > >> > the M0 milestone which is at the exact moment when a new bump to minor > >> > version is done, reasoning why is given in this thread[1]). I would > >> argue > >> > that doing an M1 now is a good idea and then an M2 once other critical > >> > features land (such as inliner which is mentioned in the below point) > >> > - There are some critical features that need to be merged before a > >> release > >> > of 1.1.0 Pekko Core is ever made (and 1.1.0 Pekko core needs to be > >> released > >> > before any other 1.1.0 releases for the other modules) due to > technical > >> > reasons. On the top of my head the critical features so far are the > >> > inliner[2] and rolling update migration of Akka to Pekko clusters[3]. > I > >> > think it's achievable to get [2] and [3] done in a few months time, > but > >> we > >> > would have to focus on getting it over the line ([2] is already > "done", > >> it > >> > just needs a review and testing in downstream modules, [3] likely > needs > >> > more work and most of all testing so that it works as expected). > >> > - Regarding LTS, I don't think we should entertain the idea now. We > >> have no > >> > idea of what and how an LTS can work and we don't even have the > capacity > >> > for it. It might even be a thing that LTS's are "someone else's" > problem > >> > (Pekko is open source after all). I think the most critical thing is > >> > sticking to semantic versioning, such an expectation is manageable for > >> us > >> > and I would argue is kind of a requirement for large open source > >> projects > >> > like Pekko > >> > - Fixing the manager name [4] should also be fixed for 1.1.0 (actually > >> if > >> > anything this should be fixed for 1.0.x branch as well) > >> > - As kind of a stretch goal, sbt-multi-release-jar support for > 1.1.0[5] > >> > would be awesome as it would unblock a **lot** of things while also > >> keeping > >> > part of the community happy > >> > - Releasing pekko 1.1.0 with the latest sbt-osgi (which apparently > >> fixes a > >> > lot of pain points versus the current osgi used in Pekko 1.0.x) would > be > >> > another nice stretch goal, currently there is one issue with duplicate > >> > classes but we now have infrastructure set up[6] so that we can > properly > >> > test such changes. > >> > > >> > Note that a lot of the underlying reasoning behind my points are also > >> > strategic, i.e. keeping features which can be considered critical to > >> Pekko > >> > and/or current Akka users which don't require to much effort > (basically > >> > anything that gives a reason for people to use/migrate to Pekko while > >> not > >> > breaking the i.e. our bank so to speak). I know that there has been a > >> push > >> > to do things like drop JDK 8, Scala 2.12, osgi etc etc due to death > by a > >> > thousand cuts but tbh objectively speaking these issues are not taking > >> up > >> > that much time (at least personally by far the largest amount of time > >> spent > >> > is just overhead of having to do so many releases and validate them, > >> really > >> > looking forward to the day when we can automate everything with > >> > sbt-reproducible-builds/jardiff/create jars in ci etc etc). Pekko > 2.0.x > >> > series is when we can look forward to drop a lot of this "annoying > >> > maintenance" stuff and I would actually strongly argue that at the > time > >> > when we start looking at Pekko 2.0.x we actually get a better idea of > >> what > >> > our Pekko users look like, because as has been shown due to the chaos > >> > created from the license change very few us had any somewhat realistic > >> lens > >> > as to how the Pekko community (specifically users) look like, i.e. > while > >> > the OS would **LOVE** to get rid of JDK 1.8 support it just so happens > >> that > >> > a lot of people still need to use JDK 1.8 and even though there are > >> reasons > >> > to move away from 1.8 evidently they aren't relevant. > >> > > >> > [1] https://lists.apache.org/thread/o494q89hhg64r5nwv4rnq6fsx9zofmny > >> > [2] https://github.com/apache/incubator-pekko/pull/305 > >> > [3] https://github.com/apache/incubator-pekko/pull/765 > >> > [4] https://github.com/apache/incubator-pekko/pull/587 > >> > [5] https://github.com/sbt/sbt-multi-release-jar/issues/22 > >> > [6] https://github.com/apache/incubator-pekko/issues/75 > >> > > >> > On Sun, Nov 5, 2023 at 12:12 PM PJ Fanning <[email protected]> > >> wrote: > >> > > >> > > The core pekko repo [1] has quite a few changes in its main branch > >> that > >> > > are are targeted at a future 1.1.0 release. > >> > > > >> > > We haven't really agreed on what to do with the code that was > already > >> > > deprecated in the Akka era and there is also the issue of the > >> ApiMayChange > >> > > annotations on some of the APIs. > >> > > > >> > > There are also some new features that developers want to add. > >> > > > >> > > We don't have a great deal of developer effort available to us. > >> > > > >> > > I suspect that we need to need to balance the need to release some > of > >> the > >> > > 1.1 changes and then maybe try to make another batch of changes in > >> Pekko > >> > > 1.2. > >> > > > >> > > What if we aimed to do a Pekko 1.1.0 release in a few months and > said > >> that > >> > > it was not a Long Term Support release? If we go down this line, we > >> would > >> > > probably want to have a tentative plan as to when a new LTS release > >> would > >> > > happen. > >> > > > >> > > An example of something that would be useful to release would be the > >> > > netty4 support. I know that the Apache Flink team would like to use > >> this. > >> > > > >> > > Alternatively, we could do a Pekko 1.1.0-M1 release. I suspect that > we > >> > > would end up with a fair number of these and the M version number > >> would > >> > > discourage uptake (except for testing). > >> > > > >> > > What are people's thoughts on the options? > >> > > > >> > > > >> > > > >> > > [1] https://github.com/apache/incubator-pekko > >> > > > >> > > > --------------------------------------------------------------------- > >> > > To unsubscribe, e-mail: [email protected] > >> > > For additional commands, e-mail: [email protected] > >> > > > >> > > > >> > > >> > -- > >> > > >> > Matthew de Detrich > >> > > >> > *Aiven Deutschland GmbH* > >> > > >> > Immanuelkirchstraße 26, 10405 Berlin > >> > > >> > Alexanderufer 3-7, 10117 Berlin > >> > > >> > Amtsgericht Charlottenburg, HRB 209739 B > >> > > >> > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > >> > > >> > *m:* +491603708037 > >> > > >> > *w:* aiven.io *e:* [email protected] > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [email protected] > >> For additional commands, e-mail: [email protected] > >> > >> > > > > -- > > > > Matthew de Detrich > > > > *Aiven Deutschland GmbH* > > > > Immanuelkirchstraße 26, 10405 Berlin > > > > Alexanderufer 3-7, 10117 Berlin > > > > Amtsgericht Charlottenburg, HRB 209739 B > > > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > > > > *m:* +491603708037 > > > > *w:* aiven.io *e:* [email protected] > > > > > -- > > Matthew de Detrich > > *Aiven Deutschland GmbH* > > Immanuelkirchstraße 26, 10405 Berlin > > Alexanderufer 3-7, 10117 Berlin > > Amtsgericht Charlottenburg, HRB 209739 B > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > > *m:* +491603708037 > > *w:* aiven.io *e:* [email protected] >
