> 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 <fannin...@gmail.com> 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
> <matthew.dedetr...@aiven.io.invalid> 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 <fannin...@apache.org> 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: dev-unsubscr...@pekko.apache.org
> > > For additional commands, e-mail: dev-h...@pekko.apache.org
> > >
> > >
> >
> > --
> >
> > 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:* matthew.dedetr...@aiven.io
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org
> For additional commands, e-mail: dev-h...@pekko.apache.org
>
>

-- 

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:* matthew.dedetr...@aiven.io

Reply via email to