BookKeeper 4.17.2 release discussion thread is 
https://lists.apache.org/thread/zhs8x1zz3g98998rsb68658qtgcgkw4r

-Lari

On 2024/09/24 21:23:38 Lari Hotari wrote:
> Here's an update on the Pulsar 4.0 release timeline.
> 
> We are currently slightly behind the original schedule; however, we
> still have a good chance of keeping the release schedule on track
> without major slippage.
> 
> There are currently a few release blockers for 4.0 (tagged issues:
> https://github.com/apache/pulsar/labels/release%2Fblocker). The most
> important one is about handling the Protobuf CVE-2024-7254:
> https://github.com/apache/pulsar/issues/23341. That CVE is categorized
> as high (8.7/10). It's a potential denial-of-service issue that
> doesn't pose a practical risk for Pulsar users. Since it's in the high
> category, we must address it before the release.
> 
> Addressing CVE-2024-7254 will require a Bookkeeper release since
> protobuf-java can only be upgraded in Pulsar when protobuf-java is
> first upgraded in Bookkeeper together with a compatible grpc-java
> version. The protobuf-java cross-version runtime guarantee is
> documented at https://protobuf.dev/support/cross-version-runtime-guarantee/.
> There is no real guarantee across versions for protoc-generated stub
> classes. A similar policy applies to grpc stubs generated with
> protoc-gen-grpc-java. A specific grpc-java version is compatible with
> certain protobuf-java versions. There's more information about this
> coupling in the Bookkeeper dev mailing list thread:
> https://lists.apache.org/thread/odg7p617zwqjngq6fk6qf8xfzbfwgfgq.
> Unfortunately, I haven't had the chance to put in the effort to break
> the dependency cycles. One additional complexity with Pulsar is the
> Pulsar release where all Pulsar and Bookkeeper dependencies are placed
> in a single "lib" directory. All dependencies must be compatible since
> at runtime both Pulsar and Bookkeeper will contain the same jar files
> on the classpath. In addition to just plain classes, Pulsar adds the
> Metadata Store implementations which Bookkeeper also uses. That's how
> Bookkeeper can also use the same Metadata Store implementations as
> Pulsar.
> 
> There's a plan to decouple the Pulsar client from the protobuf-java
> version so that client applications could choose to use a
> protobuf-java version that is compatible with their own
> protoc-generated stub classes. The issue to track this is
> https://github.com/apache/pulsar/issues/22263. There are currently
> issues with the Pulsar shaded client shading configurations which
> include protobuf-java in the shaded jar as classes. This prevents
> client applications from using other protobuf-java versions. This
> should be fixed before 4.0.
> 
> Besides the release blockers, I'd like to have an implementation ready
> for "PIP-379: Key_Shared Draining Hashes for Improved Message
> Ordering" as part of Pulsar 4.0, given that the proposal is ready to
> be voted upon and we have sufficient confidence in including it as
> part of Pulsar 4.0. There's also another PIP that I'll propose to
> finish the ManagedLedger cleanup work that was started as part of the
> email thread: 
> https://lists.apache.org/thread/b2f4vkql693x3frdxm75tndk686crh9k.
> The last part is https://github.com/apache/pulsar/pull/23313, which is
> not yet complete. I'll document the details about the ManagedLedger
> cleanup in a new PIP.
> 
> Please reply to this email thread if there are other important PIPs
> that aren't yet completed but community members see as valuable
> additions to Pulsar 4.0 LTS. I can see that "PIP-381: Handle large
> PositionInfo state" is a good candidate to be included too. I hope
> that the small detail of having the feature flag to control the
> feature could be considered during the implementation. That will allow
> opting out from using the feature due to risk management concerns. For
> example, that might be useful in ensuring that possible rollbacks are
> smooth and a user might want to enable the feature only after
> migrating to Pulsar 4.0 and having their environment running for some
> time.
> 
> Now finally to the Pulsar 4.0 release.
> 
> I'm going to rename the first two releases as "preview releases" since
> we don't intend to release them or vote on them. It's currently a very
> confusing part of our release process documented at
> https://pulsar.apache.org/contribute/release-policy/#release-cycles.
> I'll update the process documentation too. I was confused when Pulsar
> 3.2.0 preview releases were running:
> https://lists.apache.org/thread/mlj710kwgn00zx9mmc4c8bshnvc5bfo4.
> 
> I'm volunteering to handle the release manager role for Pulsar 4.0.
> Here's the updated schedule. One of the unresolved parts is how to
> handle the Bookkeeper release so that we can address Protobuf
> CVE-2024-7254 before Pulsar 4.0 is released.
> 
> The target publishing date of the 4.0 release candidate 1 is the same
> date as it was in the previous timeline, Oct 10th. The clarification
> here is that this is the publishing date of release candidate 1. We'll
> set the target date for announcing 4.0.0 on Oct 17th.
> 
> 2024-09-26 - Target publishing date for 4.0 preview 1
> 2024-10-03 - Target publishing date for 4.0 preview 2
> 2024-10-07 - Code freeze for 4.0 by branching branch-4.0 from the master 
> branch
> 2024-10-10 - Target publishing date for 4.0 release candidate 1
> 2024-10-15 - Reserved for 4.0 release candidate 2 if it's needed
> 2024-10-17 - Announcement date for 4.0.0
> 
> I'll start a discussion on the Bookkeeper dev mailing list about
> releases that include Protobuf 3.25.5 to address CVE-2024-7254
> together with a compatible grpc-java version. Since we are currently
> using Bookkeeper 4.17.1 in the master branch, it might be the safest
> option to continue using this release branch for Pulsar 4.0.0.
> 
> Please reply to this thread if you have any feedback/questions or
> would like to volunteer in addressing the remaining release blockers
> of 4.0.
> 
> We have busy weeks ahead in the Apache Pulsar project, lets roll up
> our sleeves and get to work!
> 
> -Lari
> 
> On Wed, 11 Sept 2024, 7.43 Lari Hotari, <lhot...@apache.org> wrote:
> >
> > Hi all,
> >
> > I'm volunteering to handle the release manager role for Pulsar 4.0.
> > For the timeline, I'll suggest a slight update. Instead of having 3 release
> > candidates, we would have 2 planned release candidates.
> > The target release date remains Oct 10th.
> >
> > 2024-09-23 - Code freeze for 4.0 by branching branch-4.0 from the master 
> > branch
> > 2024-09-26 - Target release date for 4.0 release candidate 1
> > 2024-10-03 - Target release date for 4.0 release candidate 2
> > 2024-10-10 - Target release date for 4.0
> >
> > Regards,
> >
> > -Lari
> >
> > On 2024/08/09 08:36:05 Lari Hotari wrote:
> > > Hi all,
> > >
> > > We have the next LTS release, Pulsar 4.0, scheduled for October.
> > > For LTS, releases, our release policy states a 3 week recycle [1].
> > >
> > > Suggested timeline:
> > > 2024-08-09 - Create & merge PR to bump master branch's version to 
> > > 4.0.0-SNAPSHOT
> > > 2024-09-15 - code freeze for 4.0 by branching branch-4.0 from master 
> > > branch
> > > 2024-09-19 - target release date of 4.0 release candidate 1
> > > 2024-09-26 - target release date of 4.0 release candidate 2
> > > 2024-10-03 - target release date of 4.0 release candidate 3
> > > 2024-10-10 - target release date of 4.0
> > >
> > > Unless there's another proposal for the timeline, let's do a lazy 
> > > consensus decision on this timeline in the next 72 hours. We can always 
> > > adjust this if there's a need to do so.
> > >
> > > -Lari
> > >
> > > 1 - https://pulsar.apache.org/contribute/release-policy/#release-cycles
> > >
> 

Reply via email to