Re: [DISCUSS] BookKeeper 4.17.2 release

2024-09-29 Thread ZhangJian He
+1(binding)

Thanks
ZhangJian He

On Sun, Sep 29, 2024 at 3:21 PM Hang Chen  wrote:
>
> +1
>
> Best,
> Hang
>
> Lari Hotari  于2024年9月25日周三 05:48写道:
> >
> > Hi all,
> >
> > BookKeeper 4.17.1 was released on June 26th, about 3 months ago, and I
> > would like to discuss starting the 4.17.2 release to include some
> > critical security and bug fixes.
> >
> > The main reason for driving this release is the need to have a new
> > release for Pulsar 4.0 with a fix for Protobuf CVE-2024-7254. That CVE
> > is categorized as high (8.7/10). It's a potential denial-of-service
> > issue that doesn't pose a practical additional risk for BookKeeper or
> > Pulsar users. Since it's in the high category, we must address it
> > before the release.
> >
> > It's necessary to upgrade protobuf-java to 3.25.5 and include a
> > compatible grpc-java version as well. I'd suggest that we pick the
> > most recent stable version of grpc-java that is compatible with
> > protobuf-java 3.25.5. I'll take a closer look at addressing this in
> > the upcoming days.
> > The PR to upgrade to protobuf-java 3.25.5 in the master branch is
> > https://github.com/apache/bookkeeper/pull/4508.
> >
> > Regarding Pulsar 4.0, there's a Pulsar dev mailing list discussion
> > with the updated Pulsar 4.0 timeline at
> > https://lists.apache.org/thread/qy8xp2ht0htvctlx2cwgrq2ppnjcp4m3. It
> > also contains a description of the protobuf-java & grpc-java coupling
> > between Pulsar and BookKeeper. Previous experiences have taught us
> > that the way to prevent regressions is to first upgrade protobuf-java
> > and grpc-java in BookKeeper and only after that in Pulsar. There are
> > some additional details about the challenges in decoupling this in a
> > thread https://lists.apache.org/thread/odg7p617zwqjngq6fk6qf8xfzbfwgfgq.
> > However, this decoupling work is not feasible with this timeline and
> > we'll proceed with the previous procedure.
> >
> > Here are the current PRs for 4.17.2:
> > https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.2+is%3Amerged
> >
> > If you have other PRs that you want to be included in this release,
> > please tag the PR with "release/4.17.2" and reply to this thread.
> >
> > I'd like to volunteer as the release manager for this release. I
> > haven't performed this role in the BookKeeper project before, so I
> > hope there's someone who could assist me when I need help.
> >
> > Thanks,
> >
> > -Lari


Re: [DISCUSS] BookKeeper 4.16.7 release

2024-09-27 Thread ZhangJian He
+1

Thanks
ZhangJian He

On Fri, Sep 27, 2024 at 3:31 PM Nicolò Boschi  wrote:
>
> +1
>
> Thanks
> Nicolò Boschi
>
> Il giorno gio 26 set 2024 alle ore 20:07 Matteo Merli
>  ha scritto:
> >
> > +1 thanks for taking care of this.
> > --
> > Matteo Merli
> > 
> >
> >
> > On Thu, Sep 26, 2024 at 10:52 AM Lari Hotari  wrote:
> >
> > > Hi all,
> > >
> > > BookKeeper 4.16.6 was released on June 26th, 3 months ago, and I
> > > would like to discuss starting the 4.16.7 release to include some
> > > critical security and bug fixes.
> > >
> > > The main reason for driving this release is the need to have a new
> > > release for Pulsar 3.0.7 with a fix for Protobuf CVE-2024-7254. That CVE
> > > is categorized as high (8.7/10). It's a potential denial-of-service
> > > issue that doesn't pose a practical additional risk for BookKeeper or
> > > Pulsar users. Since it's in the high category, we must address it
> > > before the release.
> > >
> > > It's necessary to upgrade protobuf-java to 3.25.5 and include a
> > > compatible grpc-java version as well.
> > > Past experience in Pulsar has taught us that this has been the safest
> > > approach
> > > to handle protobuf-java upgrades first in BookKeeper and after that in
> > > Pulsar.
> > >
> > > The merged PR to upgrade to protobuf-java 3.25.5 in the master branch is
> > > https://github.com/apache/bookkeeper/pull/4508.
> > >
> > > Here are the current PRs for 4.16.7:
> > >
> > > https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.7+is%3Amerged
> > >
> > > If you have other PRs that you want to be included in this release,
> > > please tag the PR with "release/4.16.7" and reply to this thread.
> > >
> > > I'd like to volunteer as the release manager for this release. I
> > > haven't performed this role in the BookKeeper project before, so I
> > > hope there's someone who could assist me when I need help.
> > >
> > > Thanks,
> > >
> > > -Lari
> > >


Re: BP-68 - Delete cookie as part of decommission API

2024-09-22 Thread ZhangJian He
+1 (binding)

Thanks
ZhangJian He

On Sun, Sep 22, 2024 at 6:15 PM Aloys Zhang  wrote:
>
> +1(non-binding)
>
> Lari Hotari  于2024年9月12日周四 12:15写道:
>
> > I support this proposal. Thanks for driving this, Karthick.
> >
> > -Lari
> >
> > On 2024/09/04 06:01:13 Karthick wrote:
> > > Hello Everyone,
> > > Can you please look into the BP-68
> > > <https://github.com/apache/bookkeeper/pull/4500/> and let me know your
> > > thoughts?
> > >
> > > *Quick Summary:*
> > > The current decommission process in Apache BookKeeper has two main
> > > interfaces: the REST API and the command-line interface (CLI). However,
> > > there is a discrepancy between these two methods, specifically in the
> > > handling of cookie deletion. The CLI includes logic for deleting cookies
> > > associated with decommissioned Bookies, while the REST API lacks this
> > > functionality. This BP proposes enhancing the REST API to include cookie
> > > deletion logic, aligning it with the behavior of the CLI.
> > >
> > >
> > > Thanks,
> > > Karthick
> > >
> >


Re: [DISCUSS] Proposal to Backport `dbStorage_readAheadCacheBatchBytesSize` to BookKeeper 4.16.x

2024-06-27 Thread ZhangJian He
+1, I revisit this pr, it's quite simple and default disabled.

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj

On Fri, Jun 28, 2024 at 12:01 AM Matteo Merli  wrote:
>
> Sounds good to me. This won't add any new risk.
> --
> Matteo Merli
> 
>
>
> On Thu, Jun 27, 2024 at 4:30 PM Hang Chen  wrote:
>
> > Hi team,
> >
> > I would like to discuss the potential backporting of a recently
> > introduced feature from the BookKeeper 4.17.0 release to the 4.16.x
> > branch, which is used in Pulsar 3.0 LTS. The feature in question is
> > the `dbStorage_readAheadCacheBatchBytesSize` configuration option,
> > added through PR [1]. This configuration limits the prefetch size of
> > the server read cache from the ledger disk.
> >
> > Upon testing, I found that this new configuration significantly
> > improves catch-up read latency. Given that Pulsar 3.0 is a Long-Term
> > Support (LTS) version and relies on BookKeeper 4.16.x, incorporating
> > this feature could provide substantial benefits to users of this
> > version.
> >
> > Importantly, this configuration is disabled by default, ensuring that
> > its introduction to the 4.16.x branch would not lead to breaking
> > changes. This makes it a safe candidate for cherry-picking to
> > branch-4.16.
> >
> > I believe this enhancement will provide a tangible improvement to the
> > performance of Pulsar 3.0 LTS. I would appreciate any feedback or
> > concerns regarding this proposal.
> >
> > Thank you for considering this improvement.
> >
> > Best regards,
> > Hang
> >
> >
> >
> > [1] https://github.com/apache/bookkeeper/pull/3895
> >


[ANNOUNCE] Apache BookKeeper 4.17.1 released

2024-06-26 Thread ZhangJian He
The Apache BookKeeper team is proud to announce Apache BookKeeper version
4.17.1.

Apache BookKeeper is a scalable, fault-tolerant, and low-latency storage
service optimized for
real-time workloads. It has been used for a fundamental service to build
reliable services.
It is also the log segment store for Apache DistributedLog and the message
store for Apache Pulsar.

This is the 49th release of the Apache BookKeeper.

BookKeeper 4.17.1 includes multiple bug fixes and few dependency updates.
Apache BookKeeper users are encouraged to upgrade to 4.17.1 if you are
using 4.17.x.

For BookKeeper release details and downloads, visit:

https://bookkeeper.apache.org/releases/

BookKeeper 4.17.1 release notes are at:
https://bookkeeper.apache.org/release-notes/#4171

We would like to thank the contributors that made the release possible.

Regards,
The BookKeeper Team


[ANNOUNCE] Apache BookKeeper 4.16.6 released

2024-06-26 Thread ZhangJian He
The Apache BookKeeper team is proud to announce Apache BookKeeper version
4.16.6.

Apache BookKeeper is a scalable, fault-tolerant, and low-latency storage
service optimized for
real-time workloads. It has been used for a fundamental service to build
reliable services.
It is also the log segment store for Apache DistributedLog and the message
store for Apache Pulsar.

This is the 48th release of the Apache BookKeeper.

BookKeeper 4.16.6 includes multiple bug fixes and few dependency updates.
Apache BookKeeper users are encouraged to upgrade to 4.16.6 if you are
using 4.16.x.

For BookKeeper release details and downloads, visit:

https://bookkeeper.apache.org/releases/

BookKeeper 4.16.6 release notes are at:
https://bookkeeper.apache.org/release-notes/#4166

We would like to thank the contributors that made the release possible.

Regards,
The BookKeeper Team


Re: [VOTE] Release 4.17.1, release candidate #0

2024-06-22 Thread ZhangJian He
The vote is now closed, and the release was approved with 3 binding votes.
I will continue with the following steps.

Votes:
- Enrico Olivelli (binding)
- Andrey Yegorov (binding)
- ZhangJian He (binding)
- ZhiHeng Zhang

Thank you all for verifying and voting!

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Sat, Jun 22, 2024 at 2:22 AM Andrey Yegorov
 wrote:

> +1 (binding)
>
> * reviewed the release notes
> * spot checked maven repo
> * built from the tag
> * ran the binaries (localbookie, standalone)
>
>
> On Fri, Jun 14, 2024 at 7:05 AM ZhangJian He  wrote:
>
> > Hi everyone,
> > Please review and vote on the release candidate #0 for the version
> > 4.17.1, as follows:
> > [ ] +1, Approve the release
> > [ ] -1, Do not approve the release (please provide specific comments)
> >
> > The complete staging area is available for your review, which includes:
> > * Release notes [1]
> > * The official Apache source and binary distributions to be deployed
> > to dist.apache.org [2]
> > * All artifacts to be deployed to the Maven Central Repository [3]
> > * Source code tag "v4.17.1-rc0"  [4] with git sha
> > f233320077991b4b50218598858f6d31a1914884
> >
> > BookKeeper's KEYS file contains PGP keys we used to sign this release:
> > https://dist.apache.org/repos/dist/release/bookkeeper/KEYS
> >
> > Please download these packages and review this release candidate:
> >
> > - Review release notes
> > - Download the source package (verify shasum, and asc) and follow the
> > instructions to build and run the bookkeeper service.
> > - Download the binary package (verify shasum, and asc) and follow the
> > instructions to run the bookkeeper service.
> > - Review maven repo, release tag, licenses, and any other things you
> think
> > it is important to release.
> >
> > The vote will be open for at least 72 hours. It is adopted by majority
> > approval, with at least 3 PMC affirmative votes.
> >
> > [1] https://github.com/apache/bookkeeper/pull/4389
> > [2]
> > https://dist.apache.org/repos/dist/dev/bookkeeper/bookkeeper-4.17.1-rc0/
> > [3]
> >
> >
> https://repository.apache.org/content/repositories/orgapachebookkeeper-1098/
> > [4] https://github.com/apache/bookkeeper/tree/v4.17.1-rc0
> >
> > Thanks
> > ZhangJian He
> > Twitter: shoothzj
> > Wechat: shoothzj
> >
>
>
> --
> Andrey Yegorov
>


Re: [VOTE] Release 4.16.6, release candidate #0

2024-06-22 Thread ZhangJian He
The vote is now closed, and the release was approved with 3 binding votes.
I will continue with the following steps.

Votes:
- Enrico Olivelli (binding)
- Andrey Yegorov (binding)
- ZhangJian He (binding)
- ZhiHeng Zhang

Thank you all for verifying and voting!

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Sat, Jun 22, 2024 at 2:03 AM Andrey Yegorov
 wrote:

> +1 (binding)
>
> * reviewed the release notes
> * spot checked maven repo
> * built from the tag
> * ran the binaries (localbookie, standalone)
>
>
> On Fri, Jun 14, 2024 at 1:22 AM ZhangJian He  wrote:
>
> > Hi everyone,
> > Please review and vote on the release candidate #0 for the version
> > 4.16.6, as follows:
> > [ ] +1, Approve the release
> > [ ] -1, Do not approve the release (please provide specific comments)
> >
> > The complete staging area is available for your review, which includes:
> > * Release notes [1]
> > * The official Apache source and binary distributions to be deployed
> > to dist.apache.org [2]
> > * All artifacts to be deployed to the Maven Central Repository [3]
> > * Source code tag "v4.16.6-rc0"  [4] with git sha
> > bfd871810f78a963029acd1a462d677de2865cf1
> >
> > BookKeeper's KEYS file contains PGP keys we used to sign this release:
> > https://dist.apache.org/repos/dist/release/bookkeeper/KEYS
> >
> > Please download these packages and review this release candidate:
> >
> > - Review release notes
> > - Download the source package (verify shasum, and asc) and follow the
> > instructions to build and run the bookkeeper service.
> > - Download the binary package (verify shasum, and asc) and follow the
> > instructions to run the bookkeeper service.
> > - Review maven repo, release tag, licenses, and any other things you
> think
> > it is important to release.
> >
> > The vote will be open for at least 72 hours. It is adopted by majority
> > approval, with at least 3 PMC affirmative votes.
> >
> > [1] https://github.com/apache/bookkeeper/pull/4388
> > [2]
> > https://dist.apache.org/repos/dist/dev/bookkeeper/bookkeeper-4.16.6-rc0/
> > [3]
> >
> >
> https://repository.apache.org/content/repositories/orgapachebookkeeper-1097/
> > [4] https://github.com/apache/bookkeeper/tree/v4.16.6-rc0
> >
> > Thanks
> > ZhangJian He
> > Twitter: shoothzj
> > Wechat: shoothzj
> >
>
>
> --
> Andrey Yegorov
>


[VOTE] Release 4.17.1, release candidate #0

2024-06-14 Thread ZhangJian He
Hi everyone,
Please review and vote on the release candidate #0 for the version
4.17.1, as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide specific comments)

The complete staging area is available for your review, which includes:
* Release notes [1]
* The official Apache source and binary distributions to be deployed
to dist.apache.org [2]
* All artifacts to be deployed to the Maven Central Repository [3]
* Source code tag "v4.17.1-rc0"  [4] with git sha
f233320077991b4b50218598858f6d31a1914884

BookKeeper's KEYS file contains PGP keys we used to sign this release:
https://dist.apache.org/repos/dist/release/bookkeeper/KEYS

Please download these packages and review this release candidate:

- Review release notes
- Download the source package (verify shasum, and asc) and follow the
instructions to build and run the bookkeeper service.
- Download the binary package (verify shasum, and asc) and follow the
instructions to run the bookkeeper service.
- Review maven repo, release tag, licenses, and any other things you think
it is important to release.

The vote will be open for at least 72 hours. It is adopted by majority
approval, with at least 3 PMC affirmative votes.

[1] https://github.com/apache/bookkeeper/pull/4389
[2] https://dist.apache.org/repos/dist/dev/bookkeeper/bookkeeper-4.17.1-rc0/
[3]
https://repository.apache.org/content/repositories/orgapachebookkeeper-1098/
[4] https://github.com/apache/bookkeeper/tree/v4.17.1-rc0

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


Re: [DISCUSS] BookKeeper 4.17.1 release

2024-06-14 Thread ZhangJian He
CI is passed https://github.com/apache/bookkeeper/actions/runs/9498865602.
I'll start preparing for the RC as soon as I can.

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Tue, Jun 11, 2024 at 3:49 PM Hang Chen  wrote:

> +1
>
> Thanks,
> Hang
>
> ZhangJian He  于2024年6月11日周二 07:52写道:
> >
> > I have done cherry-pick, no pr in
> >
> https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.1+is%3Amerged+-label%3Acherry-picked%2Fbranch-4.17
> > .
> >
> > I'll start preparing for the RC as soon as I can.
> >
> > Thanks
> > ZhangJian He
> > Twitter: shoothzj
> > Wechat: shoothzj
> >
> >
> > On Thu, Jun 6, 2024 at 7:35 AM ZhangJian He  wrote:
> >
> > > TLDR: I would like to cherry-pick
> > > https://github.com/apache/bookkeeper/pull/4413 and
> > > https://github.com/apache/bookkeeper/pull/4419
> > >
> > > > https://github.com/apache/bookkeeper/pull/4407
> > > I think currently windows is limited to some development jobs, there
> are
> > > still many test failures to be solved. No need to cherry-pick.
> > > > https://github.com/apache/bookkeeper/pull/4413
> > > RocksDB release note:
> > > https://github.com/facebook/rocksdb/releases/tag/v7.10.2 It contains
> many
> > > bug fix, no public API changes.I think we can cherry-pick.
> > > > https://github.com/apache/bookkeeper/pull/4419
> > > BookKeeper CI branch-4.17
> > > <
> https://github.com/apache/bookkeeper/actions/workflows/bk-ci.yml?query=branch%3Abranch-4.17>
> Although
> > > branch-4.17 CI works well, I still think it's worth cherry-picking. It
> > > actually solves a problem.
> > >
> > > Thanks
> > > ZhangJian He
> > > Twitter: shoothzj
> > > Wechat: shoothzj
> > >
> > >
> > > On Thu, Jun 6, 2024 at 12:41 AM Andrey Yegorov 
> > > wrote:
> > >
> > >> +1
> > >>
> > >> WDYT about adding these recent PRs:
> > >> https://github.com/apache/bookkeeper/pull/4407
> > >> https://github.com/apache/bookkeeper/pull/4413
> > >> https://github.com/apache/bookkeeper/pull/4419
> > >>
> > >>
> > >> On Fri, May 24, 2024 at 7:48 PM ZhangJian He 
> wrote:
> > >>
> > >> > Hi all,
> > >> >
> > >> > BookKeeper 4.17.0 was released one months ago, and I would
> > >> > like to discuss the starting 4.17.1 release to include some critical
> > >> > security and bug fixes.
> > >> >
> > >> > Here are the PRs for 4.17.1:
> > >> > PR-4.17.1
> > >> > <
> > >> >
> > >>
> https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.1+is%3Amerged
> > >> > >
> > >> >
> > >> > I have cherry-picked it. I removed open PRs that were targeting
> 4.17.1
> > >> > label.
> > >> >
> > >> > If you have other PRs that you want to be included in this release,
> > >> please
> > >> > tag the PR with the "release/4.17.1" and let me know in this thread.
> > >> >
> > >> > If there's any concern, I'd like to volunteer to guide this release.
> > >> >
> > >> > Thanks
> > >> > ZhangJian He
> > >> > Twitter: shoothzj
> > >> > Wechat: shoothzj
> > >> >
> > >>
> > >
>


[discuss] Delete 4.16.5-rc0 binary&src from dev svn

2024-06-14 Thread ZhangJian He
When I am trying to release 4.16.6, I found 4.16.5-rc0's binary is still in
the dev svn. I think it's better to remove it? Am I right?

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


[VOTE] Release 4.16.6, release candidate #0

2024-06-14 Thread ZhangJian He
Hi everyone,
Please review and vote on the release candidate #0 for the version
4.16.6, as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide specific comments)

The complete staging area is available for your review, which includes:
* Release notes [1]
* The official Apache source and binary distributions to be deployed
to dist.apache.org [2]
* All artifacts to be deployed to the Maven Central Repository [3]
* Source code tag "v4.16.6-rc0"  [4] with git sha
bfd871810f78a963029acd1a462d677de2865cf1

BookKeeper's KEYS file contains PGP keys we used to sign this release:
https://dist.apache.org/repos/dist/release/bookkeeper/KEYS

Please download these packages and review this release candidate:

- Review release notes
- Download the source package (verify shasum, and asc) and follow the
instructions to build and run the bookkeeper service.
- Download the binary package (verify shasum, and asc) and follow the
instructions to run the bookkeeper service.
- Review maven repo, release tag, licenses, and any other things you think
it is important to release.

The vote will be open for at least 72 hours. It is adopted by majority
approval, with at least 3 PMC affirmative votes.

[1] https://github.com/apache/bookkeeper/pull/4388
[2] https://dist.apache.org/repos/dist/dev/bookkeeper/bookkeeper-4.16.6-rc0/
[3]
https://repository.apache.org/content/repositories/orgapachebookkeeper-1097/
[4] https://github.com/apache/bookkeeper/tree/v4.16.6-rc0

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


Re: [DISCUSS] BookKeeper 4.16.6 release

2024-06-13 Thread ZhangJian He
Thanks for Lari's help.
No pr in
https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.6+is%3Amerged+-label%3Acherry-picked%2Fbranch-4.16
.
And CI is passed
https://github.com/apache/bookkeeper/actions/runs/9498228206.
I'll start preparing for the RC as soon as I can.


Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Fri, Jun 7, 2024 at 4:18 PM ZhangJian He  wrote:

> +1 for downgrade to 4.1.100.Final
>
> Thanks
> ZhangJian He
> Twitter: shoothzj
> Wechat: shoothzj
>
>
> On Fri, Jun 7, 2024 at 4:18 PM zhiheng123 <903292...@qq.com.invalid>
> wrote:
>
>> I found that this exception was caused by the upgrade of netty. If you
>> revert netty to 4.1.100.Final, the use case passes. Because in
>> 4.1.101.Final, netty modified the Http2 related interfaces, the  connection
>> is as follows: https://netty.io/news/2023/11/09/4-1-101-Final.html
>>
>>
>>
>> The  main reason may be incompatibility caused by (#13651). I recommended
>> to roll  back netty to 4.1.100.Final, which can also address some CVE
>> vulnerabilities related to netty. This will allow the ci of  branch-4.1.16
>> to return to normal without having to upgrade the version  of grpc. The
>> corresponding components related to netty such as vertx  also need to be
>> rolled back to the version that matches netty.
>>
>>
>>
>>
>>
>>
>>
>> I have successfully passed the integration test in my personal branch
>>
>>
>>
>>  https://github.com/zhiheng123/bookkeeper/actions/runs/9402997637
>>
>>
>> Original Email
>>
>>
>> Sender:"Lari Hotari"< lhot...@apache.org >;
>>
>> Sent Time:2024/5/29 14:30
>>
>> To:"dev"< dev@bookkeeper.apache.org >;
>>
>> Subject:Re: [DISCUSS] BookKeeper 4.16.6 release
>>
>>
>> On 2024/05/29 00:24:08 ZhangJian He wrote:
>> > Yesterday, I manually triggered CI for branch/4.16, but it failed. I
>> think
>> > the root reason is gRPC's version is not compatible with netty. And
>> > branch/4.16's gRPC contains several CVEs. I think we need to discuss
>> > whether to update the gRPC version in branch/4.16
>>
>> Upgrading gRPC is usually a breaking change. There might also be a need
>> to change the Protobuf version when upgrading gRPC. It's actually the
>> Protobuf version change that causes the trouble. Protobuf protoc generated
>> code often breaks when Protobuf version is upgraded. This will also impact
>> Pulsar users since the gRPC and Protobuf versions have to match the
>> Bookkeeper versions because of how Pulsar is packaged (All Pulsar and
>> Bookkeeper dependencies are in the same classpath).
>>
>> The compatibility policy of protobuf (
>> https://protobuf.dev/support/cross-version-runtime-guarantee/) states
>> that cross-version runtime support isn't guaranteed. I have also understood
>> that grpc has a similar policy. Since grpc usage involves generated code
>> (generated with protoc gprc plugin), it seems that gprc upgrades have
>> similar impacts as protobuf upgrades. However for Pulsar end users, the
>> gRPC version doesn't get exposed via Pulsar client dependencies like it
>> does for protobuf-java (reported issue
>> https://github.com/apache/pulsar/issues/22263).
>>
>> I have shared some thoughts on possible ways to address this in a
>> previous email thread,
>> https://lists.apache.org/thread/odg7p617zwqjngq6fk6qf8xfzbfwgfgq .
>>
>> In branch-4.16 maintenance, we would have to prioritize avoiding breaking
>> changes over resolving low or medium level CVEs. It's not feasible to get
>> rid of all possible CVEs without causing breaking changes. We have to make
>> tradeoffs. I'd rather have exemptions for low and medium level CVEs than
>> causing breaking changes for our users that upgrade to a new version of a
>> Pulsar LTS version. We use Bookkeeper branch-4.16 in Pulsar LTS (3.0.x).
>>
>> -Lari
>
>


Re: [DISCUSS] BookKeeper 4.17.1 release

2024-06-10 Thread ZhangJian He
I have done cherry-pick, no pr in
https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.1+is%3Amerged+-label%3Acherry-picked%2Fbranch-4.17
.

I'll start preparing for the RC as soon as I can.

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Thu, Jun 6, 2024 at 7:35 AM ZhangJian He  wrote:

> TLDR: I would like to cherry-pick
> https://github.com/apache/bookkeeper/pull/4413 and
> https://github.com/apache/bookkeeper/pull/4419
>
> > https://github.com/apache/bookkeeper/pull/4407
> I think currently windows is limited to some development jobs, there are
> still many test failures to be solved. No need to cherry-pick.
> > https://github.com/apache/bookkeeper/pull/4413
> RocksDB release note:
> https://github.com/facebook/rocksdb/releases/tag/v7.10.2 It contains many
> bug fix, no public API changes.I think we can cherry-pick.
> > https://github.com/apache/bookkeeper/pull/4419
> BookKeeper CI branch-4.17
> <https://github.com/apache/bookkeeper/actions/workflows/bk-ci.yml?query=branch%3Abranch-4.17>
>  Although
> branch-4.17 CI works well, I still think it's worth cherry-picking. It
> actually solves a problem.
>
> Thanks
> ZhangJian He
> Twitter: shoothzj
> Wechat: shoothzj
>
>
> On Thu, Jun 6, 2024 at 12:41 AM Andrey Yegorov 
> wrote:
>
>> +1
>>
>> WDYT about adding these recent PRs:
>> https://github.com/apache/bookkeeper/pull/4407
>> https://github.com/apache/bookkeeper/pull/4413
>> https://github.com/apache/bookkeeper/pull/4419
>>
>>
>> On Fri, May 24, 2024 at 7:48 PM ZhangJian He  wrote:
>>
>> > Hi all,
>> >
>> > BookKeeper 4.17.0 was released one months ago, and I would
>> > like to discuss the starting 4.17.1 release to include some critical
>> > security and bug fixes.
>> >
>> > Here are the PRs for 4.17.1:
>> > PR-4.17.1
>> > <
>> >
>> https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.1+is%3Amerged
>> > >
>> >
>> > I have cherry-picked it. I removed open PRs that were targeting 4.17.1
>> > label.
>> >
>> > If you have other PRs that you want to be included in this release,
>> please
>> > tag the PR with the "release/4.17.1" and let me know in this thread.
>> >
>> > If there's any concern, I'd like to volunteer to guide this release.
>> >
>> > Thanks
>> > ZhangJian He
>> > Twitter: shoothzj
>> > Wechat: shoothzj
>> >
>>
>


Re: [DISCUSS] BookKeeper 4.16.6 release

2024-06-07 Thread ZhangJian He
+1 for downgrade to 4.1.100.Final

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Fri, Jun 7, 2024 at 4:18 PM zhiheng123 <903292...@qq.com.invalid> wrote:

> I found that this exception was caused by the upgrade of netty. If you
> revert netty to 4.1.100.Final, the use case passes. Because in
> 4.1.101.Final, netty modified the Http2 related interfaces, the  connection
> is as follows: https://netty.io/news/2023/11/09/4-1-101-Final.html
>
>
>
> The  main reason may be incompatibility caused by (#13651). I recommended
> to roll  back netty to 4.1.100.Final, which can also address some CVE
> vulnerabilities related to netty. This will allow the ci of  branch-4.1.16
> to return to normal without having to upgrade the version  of grpc. The
> corresponding components related to netty such as vertx  also need to be
> rolled back to the version that matches netty.
>
>
>
>
>
>
>
> I have successfully passed the integration test in my personal branch
>
>
>
>  https://github.com/zhiheng123/bookkeeper/actions/runs/9402997637
>
>
> Original Email
>
>
> Sender:"Lari Hotari"< lhot...@apache.org >;
>
> Sent Time:2024/5/29 14:30
>
> To:"dev"< dev@bookkeeper.apache.org >;
>
> Subject:Re: [DISCUSS] BookKeeper 4.16.6 release
>
>
> On 2024/05/29 00:24:08 ZhangJian He wrote:
> > Yesterday, I manually triggered CI for branch/4.16, but it failed. I
> think
> > the root reason is gRPC's version is not compatible with netty. And
> > branch/4.16's gRPC contains several CVEs. I think we need to discuss
> > whether to update the gRPC version in branch/4.16
>
> Upgrading gRPC is usually a breaking change. There might also be a need to
> change the Protobuf version when upgrading gRPC. It's actually the Protobuf
> version change that causes the trouble. Protobuf protoc generated code
> often breaks when Protobuf version is upgraded. This will also impact
> Pulsar users since the gRPC and Protobuf versions have to match the
> Bookkeeper versions because of how Pulsar is packaged (All Pulsar and
> Bookkeeper dependencies are in the same classpath).
>
> The compatibility policy of protobuf (
> https://protobuf.dev/support/cross-version-runtime-guarantee/) states
> that cross-version runtime support isn't guaranteed. I have also understood
> that grpc has a similar policy. Since grpc usage involves generated code
> (generated with protoc gprc plugin), it seems that gprc upgrades have
> similar impacts as protobuf upgrades. However for Pulsar end users, the
> gRPC version doesn't get exposed via Pulsar client dependencies like it
> does for protobuf-java (reported issue
> https://github.com/apache/pulsar/issues/22263).
>
> I have shared some thoughts on possible ways to address this in a previous
> email thread,
> https://lists.apache.org/thread/odg7p617zwqjngq6fk6qf8xfzbfwgfgq .
>
> In branch-4.16 maintenance, we would have to prioritize avoiding breaking
> changes over resolving low or medium level CVEs. It's not feasible to get
> rid of all possible CVEs without causing breaking changes. We have to make
> tradeoffs. I'd rather have exemptions for low and medium level CVEs than
> causing breaking changes for our users that upgrade to a new version of a
> Pulsar LTS version. We use Bookkeeper branch-4.16 in Pulsar LTS (3.0.x).
>
> -Lari


Re: [DISCUSS] BookKeeper 4.17.1 release

2024-06-05 Thread ZhangJian He
TLDR: I would like to cherry-pick
https://github.com/apache/bookkeeper/pull/4413 and
https://github.com/apache/bookkeeper/pull/4419

> https://github.com/apache/bookkeeper/pull/4407
I think currently windows is limited to some development jobs, there are
still many test failures to be solved. No need to cherry-pick.
> https://github.com/apache/bookkeeper/pull/4413
RocksDB release note:
https://github.com/facebook/rocksdb/releases/tag/v7.10.2 It contains many
bug fix, no public API changes.I think we can cherry-pick.
> https://github.com/apache/bookkeeper/pull/4419
BookKeeper CI branch-4.17
<https://github.com/apache/bookkeeper/actions/workflows/bk-ci.yml?query=branch%3Abranch-4.17>
Although
branch-4.17 CI works well, I still think it's worth cherry-picking. It
actually solves a problem.

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Thu, Jun 6, 2024 at 12:41 AM Andrey Yegorov  wrote:

> +1
>
> WDYT about adding these recent PRs:
> https://github.com/apache/bookkeeper/pull/4407
> https://github.com/apache/bookkeeper/pull/4413
> https://github.com/apache/bookkeeper/pull/4419
>
>
> On Fri, May 24, 2024 at 7:48 PM ZhangJian He  wrote:
>
> > Hi all,
> >
> > BookKeeper 4.17.0 was released one months ago, and I would
> > like to discuss the starting 4.17.1 release to include some critical
> > security and bug fixes.
> >
> > Here are the PRs for 4.17.1:
> > PR-4.17.1
> > <
> >
> https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.1+is%3Amerged
> > >
> >
> > I have cherry-picked it. I removed open PRs that were targeting 4.17.1
> > label.
> >
> > If you have other PRs that you want to be included in this release,
> please
> > tag the PR with the "release/4.17.1" and let me know in this thread.
> >
> > If there's any concern, I'd like to volunteer to guide this release.
> >
> > Thanks
> > ZhangJian He
> > Twitter: shoothzj
> > Wechat: shoothzj
> >
>


Re: [DISCUSS] Proposal for Updated JVM Support Strategy in Apache BookKeeper CI

2024-06-02 Thread ZhangJian He
ping

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Mon, May 27, 2024 at 9:17 AM ZhangJian He  wrote:

> Hi, BookKeepers, I want to propose and clarify a new CI strategy based on
> our former practices.
>
> ## Current CI Jobs
>
> - **PR Validation Tests**: Currently, these jobs run on JDK 11 for every
> pull request to ensure all changes meet our quality standards before
> merging.
> - **Platform Build Tests**: We run Windows and macOS builds on JDK 11.
> - **Tests**: Major tests are currently only run on JDK 11 due to time
> constraints(I think, please point out if I were wrong).
> - **Compatibility Checks**: We perform basic compatibility checks across a
> JDK matrix of 8, 11, 17, and 21, with JDK 21 added recently as per [this
> pull request](https://github.com/apache/bookkeeper/pull/4350).
> - **OWASP Check**: Run as part of our daily builds or pom file changes to
> ensure security vulnerabilities are identified and addressed swiftly.
> - **Daily Builds**: These are three types of job in daily builds: higher
> jdk linux, owasp, windows jdk(current running in jdk21, limited to some
> development jobs, there are still many tests failures to be solved), due to
> its speed and the ability to expose issues.
> - **GitHub CodeQL, TYPOS**: These jobs are not related to JVM.
>
> ## Proposed JVM Strategy
>
> Given that JDK 11 will reach its end of life in October 2024 [1], I
> suggest transitioning our main CI operations to **JDK 17**. This would
> include the `PR Validation Tests`, `Platform Build Tests`, and `Tests`.
>
> For `Compatibility Checks`, we should consider maintaining checks only for
> OpenJDK LTS versions that are not EOL. For instance, we can remove JDK 11
> from the compatibility matrix after October 2024.
>
> For `Daily Builds` on Linux, I propose adding OpenJDK LTS versions beyond
> our main CI version.
>
> For `Daily Builds` on Windows and the `OWASP Check`, using the latest
> OpenJDK version will leverage the most advanced and supported JDK features
> and help expose more problems.
>
> Thank you for considering this strategic update. I look forward to your
> feedback and further discussion.
>
> [1] [JDK 11 End of Life Update](https://access.redhat.com/articles/1299013
> )
>
> Thanks
> ZhangJian He
> Twitter: shoothzj
> Wechat: shoothzj
>


Re: [DISCUSS] BookKeeper 4.17.1 release

2024-06-02 Thread ZhangJian He
ping

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Sat, May 25, 2024 at 10:47 AM ZhangJian He  wrote:

> Hi all,
>
> BookKeeper 4.17.0 was released one months ago, and I would
> like to discuss the starting 4.17.1 release to include some critical
> security and bug fixes.
>
> Here are the PRs for 4.17.1:
> PR-4.17.1
> <https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.1+is%3Amerged>
>
> I have cherry-picked it. I removed open PRs that were targeting 4.17.1
> label.
>
> If you have other PRs that you want to be included in this release, please
> tag the PR with the "release/4.17.1" and let me know in this thread.
>
> If there's any concern, I'd like to volunteer to guide this release.
>
> Thanks
> ZhangJian He
> Twitter: shoothzj
> Wechat: shoothzj
>


Re: [DISCUSS] BookKeeper 4.16.6 release

2024-05-28 Thread ZhangJian He
lerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at
io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:801)
at
io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:509)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407)
at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
... 1 more
```

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Tue, May 28, 2024 at 4:09 PM Enrico Olivelli  wrote:

> Il Mar 28 Mag 2024, 09:18 ZhangJian He  ha scritto:
>
> > Thank you for your trust. I think we are closer, there are PRs need to be
> > handle before release
> >
> > https://github.com/apache/bookkeeper/pull/4398 BTW, Can we use one pr to
> > include 3 cherry-pick PRs?  There are both vertx,netty dependency
> updates.
> > Is this valid?
> > https://github.com/apache/bookkeeper/pull/4400
> > https://github.com/apache/bookkeeper/pull/4395
>
>
> Yes you can but please not squash them
>
> Enrico
>
> >
> >
> > Thanks
> > ZhangJian He
> > Twitter: shoothzj
> > Wechat: shoothzj
> >
> >
> > On Mon, May 27, 2024 at 2:57 PM Enrico Olivelli 
> > wrote:
> >
> > > +1 thanks
> > >
> > > Enrico
> > >
> > > Il Lun 27 Mag 2024, 08:52 Nicolò Boschi  ha
> > scritto:
> > >
> > > > +1
> > > > There are important bug fixes to release
> > > >
> > > > Thanks for taking care of the release
> > > > Nicolò Boschi
> > > >
> > > > Il giorno sab 25 mag 2024 alle ore 04:37 ZhangJian He
> > > >  ha scritto:
> > > > >
> > > > > Hi all,
> > > > >
> > > > > BookKeeper 4.16.5 was released one and half months ago, and I would
> > > > > like to discuss the starting 4.16.6 release to include some
> critical
> > > > > security and bug fixes.
> > > > >
> > > > > Here are the PRs for 4.16.6:
> > > > > PR-4.16.6
> > > > > <
> > > >
> > >
> >
> https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.6+is%3Amerged
> > > > >
> > > > >
> > > > > There are still some PRs not been cherry-picked due to conflict, I
> > will
> > > > > handle them these days. I removed open PRs that were targeting
> > > > > 4.16.6 label.
> > > > >
> > > > > If you have other PRs that you want to be included in this release,
> > > > please
> > > > > tag the PR with the "release/4.16.6" and let me know in this
> thread.
> > > > >
> > > > > If there's any concern, I'd like to volunteer to guide this
> release.
> > > > >
> > > > > Thanks
> > > > > ZhangJian He
> > > > > Twitter: shoothzj
> > > > > Wechat: shoothzj
> > > >
> > >
> >
>


Re: [DISCUSS] BookKeeper 4.16.6 release

2024-05-28 Thread ZhangJian He
Thank you for your trust. I think we are closer, there are PRs need to be
handle before release

https://github.com/apache/bookkeeper/pull/4398 BTW, Can we use one pr to
include 3 cherry-pick PRs?  There are both vertx,netty dependency updates.
Is this valid?
https://github.com/apache/bookkeeper/pull/4400
https://github.com/apache/bookkeeper/pull/4395

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Mon, May 27, 2024 at 2:57 PM Enrico Olivelli  wrote:

> +1 thanks
>
> Enrico
>
> Il Lun 27 Mag 2024, 08:52 Nicolò Boschi  ha scritto:
>
> > +1
> > There are important bug fixes to release
> >
> > Thanks for taking care of the release
> > Nicolò Boschi
> >
> > Il giorno sab 25 mag 2024 alle ore 04:37 ZhangJian He
> >  ha scritto:
> > >
> > > Hi all,
> > >
> > > BookKeeper 4.16.5 was released one and half months ago, and I would
> > > like to discuss the starting 4.16.6 release to include some critical
> > > security and bug fixes.
> > >
> > > Here are the PRs for 4.16.6:
> > > PR-4.16.6
> > > <
> >
> https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.6+is%3Amerged
> > >
> > >
> > > There are still some PRs not been cherry-picked due to conflict, I will
> > > handle them these days. I removed open PRs that were targeting
> > > 4.16.6 label.
> > >
> > > If you have other PRs that you want to be included in this release,
> > please
> > > tag the PR with the "release/4.16.6" and let me know in this thread.
> > >
> > > If there's any concern, I'd like to volunteer to guide this release.
> > >
> > > Thanks
> > > ZhangJian He
> > > Twitter: shoothzj
> > > Wechat: shoothzj
> >
>


[DISCUSS] Proposal for Updated JVM Support Strategy in Apache BookKeeper CI

2024-05-26 Thread ZhangJian He
Hi, BookKeepers, I want to propose and clarify a new CI strategy based on
our former practices.

## Current CI Jobs

- **PR Validation Tests**: Currently, these jobs run on JDK 11 for every
pull request to ensure all changes meet our quality standards before
merging.
- **Platform Build Tests**: We run Windows and macOS builds on JDK 11.
- **Tests**: Major tests are currently only run on JDK 11 due to time
constraints(I think, please point out if I were wrong).
- **Compatibility Checks**: We perform basic compatibility checks across a
JDK matrix of 8, 11, 17, and 21, with JDK 21 added recently as per [this
pull request](https://github.com/apache/bookkeeper/pull/4350).
- **OWASP Check**: Run as part of our daily builds or pom file changes to
ensure security vulnerabilities are identified and addressed swiftly.
- **Daily Builds**: These are three types of job in daily builds: higher
jdk linux, owasp, windows jdk(current running in jdk21, limited to some
development jobs, there are still many tests failures to be solved), due to
its speed and the ability to expose issues.
- **GitHub CodeQL, TYPOS**: These jobs are not related to JVM.

## Proposed JVM Strategy

Given that JDK 11 will reach its end of life in October 2024 [1], I suggest
transitioning our main CI operations to **JDK 17**. This would include the
`PR Validation Tests`, `Platform Build Tests`, and `Tests`.

For `Compatibility Checks`, we should consider maintaining checks only for
OpenJDK LTS versions that are not EOL. For instance, we can remove JDK 11
from the compatibility matrix after October 2024.

For `Daily Builds` on Linux, I propose adding OpenJDK LTS versions beyond
our main CI version.

For `Daily Builds` on Windows and the `OWASP Check`, using the latest
OpenJDK version will leverage the most advanced and supported JDK features
and help expose more problems.

Thank you for considering this strategic update. I look forward to your
feedback and further discussion.

[1] [JDK 11 End of Life Update](https://access.redhat.com/articles/1299013)

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


[DISCUSS] BookKeeper 4.17.1 release

2024-05-24 Thread ZhangJian He
Hi all,

BookKeeper 4.17.0 was released one months ago, and I would
like to discuss the starting 4.17.1 release to include some critical
security and bug fixes.

Here are the PRs for 4.17.1:
PR-4.17.1
<https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.1+is%3Amerged>

I have cherry-picked it. I removed open PRs that were targeting 4.17.1
label.

If you have other PRs that you want to be included in this release, please
tag the PR with the "release/4.17.1" and let me know in this thread.

If there's any concern, I'd like to volunteer to guide this release.

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


[DISCUSS] BookKeeper 4.16.6 release

2024-05-24 Thread ZhangJian He
Hi all,

BookKeeper 4.16.5 was released one and half months ago, and I would
like to discuss the starting 4.16.6 release to include some critical
security and bug fixes.

Here are the PRs for 4.16.6:
PR-4.16.6
<https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.6+is%3Amerged>

There are still some PRs not been cherry-picked due to conflict, I will
handle them these days. I removed open PRs that were targeting
4.16.6 label.

If you have other PRs that you want to be included in this release, please
tag the PR with the "release/4.16.6" and let me know in this thread.

If there's any concern, I'd like to volunteer to guide this release.

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


Re: BookKeeper 4.14.x EOL ?

2024-05-22 Thread ZhangJian He
+1(no-binding)


Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


Nicolò Boschi 于2024年5月22日 周三17:33写道:

> Hey folks,
>
> Now that 4.17.0 has been released, I was wondering if we should set
> 4.14.x as EOL with 4.14.8 being the official last release.
> I believe the process here is to maintain 3 release lines, however I
> couldn't find any documentation about declaring EOL versions in
> BookKeeper.
> AFAIK The only way for our users to know which versions are supported
> is the presence of the table at the top of the download page [0].
>
> In case we agree, I will send a PR to remove it from there.
>
> [0] - https://bookkeeper.apache.org/releases
>
> Thanks,
> Nicolò Boschi
>


[DISCUSS] Introducing Typo CI Check to Apache BookKeeper

2024-05-19 Thread ZhangJian He
Hi, I want to introduce new lint tools: typos[1]. This tool is designed to
automatically detect and correct typographical errors in our codebase,
documentation, and comments. It’s a valuable addition to ensure
high-quality contributions and maintain the professional standard of our
project.

It has also been used in the Apache OpenDAL and Kvrocks projects. I created
a draft PR[2].

I have been careful to avoid changes to public interfaces, but I may have
made mistakes, and the changes are relatively huge. I think I would prefer
to proceed as follows:

First, commit typos in markdown, YAML, etc.
Second, commit typos in test files.
Lastly, fix other typos and commit the lint.


1. https://github.com/crate-ci/typos
2. https://github.com/apache/bookkeeper/pull/4375/files

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


Discussion on Default Implementation for isDriverMetadataServiceAvailable

2024-05-07 Thread ZhangJian He
Hi, bookKeepers

I've reviewed the PR that introduces `isDriverMetadataServiceAvailable`. I
have concerns about providing a default implementation that returns a
constant value like true, it's not a default interface like this.

https://github.com/apache/bookkeeper/pull/4342#discussion_r1591761669

```
default E getFirstElement() {
return getElements().get(0);
}

List getElements() {
}
```

- First we don't guarantee/make ABI compatible between minor releases
- Second, People who implement metadata drivers should implement this
correctly, it may lead to unintended behavior if it's not properly
overridden by all implementations.

I'd suggest making this method abstract instead to avoid potential
misinterpretation.

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


Re: The 'news' section is not up-to-date

2024-05-07 Thread ZhangJian He
I also noticed that the 'upgrade' section is not up-to-date. PTAL
https://github.com/apache/bookkeeper/pull/4348

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Mon, May 6, 2024 at 6:46 PM ZhangJian He  wrote:

> I opened PR https://github.com/apache/bookkeeper/pull/4341 using `git
> tag` time, also fix some grammar errors like `21st` :)
>
> Thanks
> ZhangJian He
> Twitter: shoothzj
> Wechat: shoothzj
>
>
> On Mon, May 6, 2024 at 2:04 PM ZhangJian He  wrote:
>
>> I will take a look.
>>
>> Thanks
>> ZhangJian He
>> Twitter: shoothzj
>> Wechat: shoothzj
>>
>>
>> On Mon, May 6, 2024 at 12:50 PM Enrico Olivelli 
>> wrote:
>>
>>> Hello,
>>> I noticed that the News section is not up to date
>>> https://bookkeeper.apache.org/releases
>>>
>>> Any volunteers to fix it ?
>>>
>>> Cheers
>>> Enrico
>>>
>>


Re: The 'news' section is not up-to-date

2024-05-06 Thread ZhangJian He
I opened PR https://github.com/apache/bookkeeper/pull/4341 using `git tag`
time, also fix some grammar errors like `21st` :)

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Mon, May 6, 2024 at 2:04 PM ZhangJian He  wrote:

> I will take a look.
>
> Thanks
> ZhangJian He
> Twitter: shoothzj
> Wechat: shoothzj
>
>
> On Mon, May 6, 2024 at 12:50 PM Enrico Olivelli 
> wrote:
>
>> Hello,
>> I noticed that the News section is not up to date
>> https://bookkeeper.apache.org/releases
>>
>> Any volunteers to fix it ?
>>
>> Cheers
>> Enrico
>>
>


Re: The 'news' section is not up-to-date

2024-05-05 Thread ZhangJian He
I will take a look.

Thanks
ZhangJian He
Twitter: shoothzj
Wechat: shoothzj


On Mon, May 6, 2024 at 12:50 PM Enrico Olivelli  wrote:

> Hello,
> I noticed that the News section is not up to date
> https://bookkeeper.apache.org/releases
>
> Any volunteers to fix it ?
>
> Cheers
> Enrico
>


Re: [VOTE] BP-66: support throttling for zookeeper read of rereplication

2024-04-29 Thread ZhangJian He
+1(no-binding)


Thanks
ZhangJian He


thetumbled 于2024年4月30日 周二11:06写道:

> Hi, everyone.I would like to start voting thread for BP-66: support
> throttling for zookeeper read of rereplication.Proposal PR: 
> https://github.com/apache/bookkeeper/pull/4258
> Implementation PR: https://github.com/apache/bookkeeper/pull/4256
>
>
>
> Thanks,
> thetumbled.


Re: [DISCUSS] BP-66: support throttling for zookeeper read of rereplication

2024-04-29 Thread ZhangJian He
>> In such configuration (and in general) I'd recommend not to run
autorecovery on every bookie, and not run it as a part of a bookie process.
I'd go as far as to call it the best practice.
As Andrey said, I think that's the best practice to maintain big bookkeeper
clusters.

+0.5 for this change. And this is a zookeeper specified change, and refers
to existing configuration params. I think `zkReplicationTaskRateLimit`
might be better.

Thanks
ZhangJian He


On Tue, Apr 30, 2024 at 2:07 AM Andrey Yegorov
 wrote:

> +1
>
> I am ok with the change if we maintain default behavior the same as now (no
> throttling).
> I left comments on implementation PR.
>
> On Mon, Apr 1, 2024 at 1:54 AM thetumbled  wrote:
>
> > Hi all,
> > I create a new BP to relieve the pressure of Zookeeper caused by auto
> > recovery, Looking forward to your feedback.
> > https://github.com/apache/bookkeeper/issues/4257
> >
> > Best Regards,
> > thetumbled.
>
>
>
> --
> Andrey Yegorov
>


Re: [discuss] Proposal to Gradually Migrate from JUnit 4 to JUnit 5

2024-04-29 Thread ZhangJian He
Hi Lari, Thanks for your nice explanation and work in
https://github.com/apache/bookkeeper/pull/4197.

>> Summary: let's use Junit 5 & AssertJ for all new tests and migrate from
Junit 4 to Junit 5 when that provides some value (for example parameterized
tests).
I agree, and leverage annotation features in jdk17/21 support and windows
support.

>> I don't see much immediate value in converting existing tests from Junit
4 to Junit 5.
I think we can do it gradually in no hurry. I have marked the issue as
`good first issue`. This can help new contributors get familiar with our
project before they make more valuable contributions.

Thanks
ZhangJian He


On Mon, Apr 29, 2024 at 4:08 PM Lari Hotari  wrote:

> Support for JUnit 5 tests was added in
> https://github.com/apache/bookkeeper/pull/4197. Junit 4 and Junit 5 tests
> can co-exist in the code base. Junit 5 (Jupiter) test runner is used for
> test execution.
>
> While switching to use Junit 5, it's worth considering primarily using
> AssertJ for more complex test assertions. AssertJ test scope dependency has
> also been added in PR 4197.
> One of the benefits of AssertJ is that assertion errors usually provide
> good context about the failure.
>
> I don't see much immediate value in converting existing tests from Junit 4
> to Junit 5. There's more value in writing new tests with Junit 5 and
> AssertJ. PR 4197 also adds junit-jupiter-params dependency which adds
> support for Junit 5 parameterized tests. That's a very valuable addition
> with Junit 5 since Junit 4 parameterized tests are very poor and limited.
> Converting Junit 4 parameterized tests to Junit 5 parameterized tests
> could be useful since it would make maintaining the tests easier. There
> seem to be 22 test classes in BK code base that use Junit 4's
> org.junit.runners.Parameterized.
>
> Summary: let's use Junit 5 & AssertJ for all new tests and migrate from
> Junit 4 to Junit 5 when that provides some value (for example parameterized
> tests).
>
> -Lari
>
> On 2024/04/25 01:58:34 ZhangJian He wrote:
> > I am reaching out to propose a gradual migration of our testing framework
> > from JUnit 4 to JUnit 5 across the BookKeeper. JUnit 5 offers significant
> > improvements over JUnit 4, including more powerful and flexible testing
> > capabilities like annotation-based coding(so we don't need to write
> > assume), parallel test execution, and other features.
> >
> >
> > I think we can write new test classes using junit5, and existing-test
> > classes can be slowly migrated.
> >
> > Thanks
> > ZhangJian He
> >
>


Re: [discuss] Proposal to Gradually Migrate from JUnit 4 to JUnit 5

2024-04-29 Thread ZhangJian He
>> Please ensure that on CI we always both the 2 families of tests until we
completed the migration

It works well. Yes, Like in workflow
https://github.com/apache/bookkeeper/actions/runs/8873903044/job/24360578932.
TestDirectReader,TestDirectWriter runs normally, and they are already
junit5.

I created https://github.com/apache/bookkeeper/issues/4322 to track this
migrate.

Thanks
ZhangJian He


On Mon, Apr 29, 2024 at 2:39 PM Enrico Olivelli  wrote:

> ZhangJian
>
> Il giorno mer 24 apr 2024 alle ore 18:58 ZhangJian He 
> ha scritto:
>
> > I am reaching out to propose a gradual migration of our testing framework
> > from JUnit 4 to JUnit 5 across the BookKeeper. JUnit 5 offers significant
> > improvements over JUnit 4, including more powerful and flexible testing
> > capabilities like annotation-based coding(so we don't need to write
> > assume), parallel test execution, and other features.
> >
>
>
> +1
>
> Please ensure that on CI we always both the 2 families of tests until we
> completed the migration
>
> Thank you
> Enrico
>
>
> >
> >
> > I think we can write new test classes using junit5, and existing-test
> > classes can be slowly migrated.
> >
> > Thanks
> > ZhangJian He
> >
>


[discuss] Proposal to Gradually Migrate from JUnit 4 to JUnit 5

2024-04-24 Thread ZhangJian He
I am reaching out to propose a gradual migration of our testing framework
from JUnit 4 to JUnit 5 across the BookKeeper. JUnit 5 offers significant
improvements over JUnit 4, including more powerful and flexible testing
capabilities like annotation-based coding(so we don't need to write
assume), parallel test execution, and other features.


I think we can write new test classes using junit5, and existing-test
classes can be slowly migrated.

Thanks
ZhangJian He


[discuss] Change scheduleAtFixedRate to scheduleWithFixedDelay in GarbageCollectorThread

2024-04-16 Thread ZhangJian He
Hi teams. Current scheduling mechanism for garbage collection uses
scheduleAtFixedRate. This approach schedules the next execution without
considering whether the current task has finished, potentially leading to
overlapping executions if a task takes longer than expected.

In my test environment, After task accumulation in gc thread pool,
sometimes there is no entrylog to extract and no entrylogger to compact.
But every round of gc, still need to compare ledger meta between local and
metadata store (zk), which will result in highly frequently access to
metadata store and each access will bring considerable unnecessary data
flow.

I propose changing this to use scheduleWithFixedDelay instead, which
ensures that there is a fixed delay period between the end of one execution
and the start of the next.
Thanks
ZhangJian He


Re: [ANNOUNCE] New committer Wenbing Shen

2023-07-08 Thread ZhangJian He
Configurations

Thanks
ZhangJian He


On Sun, 9 Jul 2023 at 06:51, Yan Zhao  wrote:

> Wenbing, Congratulatiton!
>
> On 2023/07/08 12:39:14 Enrico Olivelli wrote:
> > Hello Bookkeepers,
> >
> > The Project Management Committee (PMC) for Apache BookKeeper
> > has invited Wenbing Shen to become a committer and we are pleased
> > to announce that they have accepted.
> >
> > Being a committer enables easier contribution to the
> > project since there is no need to go via the patch
> > submission process. This should enable better productivity.
> >
> > For more information about the ASF works you can follow this link
> > https://www.apache.org/foundation/how-it-works.html
> >
> > Please join me and congratulate Wenbing Shen !
> >
> > Enrico Olivelli
> >
>


Re: [VOTE] BP-62: Streamline batch add requests

2023-03-20 Thread ZhangJian He
+1(non-binding)

Thanks
ZhangJian He


On Tue, 21 Mar 2023 at 08:11, Andrey Yegorov 
wrote:

> Overall, +1.
> I do have some concerns related to handling various limiters, so I left a
> comment on the PR.
>
> On Mon, Mar 20, 2023 at 6:05 AM Hang Chen  wrote:
>
> > This is the vote for BP-62.
> >
> > ### Motivation
> > The bookie server process add-entry requests pipeline:
> > - Get one request from the Netty socket channel
> > - Choose one thread to process the written request
> > - Write the entry into the target ledger entry logger's write
> > cache(memory table)
> > - Put the entry into the journal's pending queue
> > - Journal thread takes the entry from the pending queue and writes it
> > into PageCache/Journal Disk
> > - Write the callback response to the Netty buffer and flush to the
> > bookie client side.
> >
> > For every add entry request, the bookie server needs to go through the
> > above steps one by one. It will introduce a lot of thread context
> > switches.
> >
> > We can batch the add requests according to the Netty socket channel,
> > and write a batch of entries into the ledger entry logger and journal
> > disk.
> >
> > ### Modifications
> > The PR will change the add requests processing pipeline into the
> > following steps.
> > - Get a batch of add-entry requests from the socket channel until the
> > socket channel is empty or reached the max capacity (default is 1_000)
> > - Choose one thread to process the batch of add-entry requests.
> > - Write the entries into the target ledger entry logger's write cache one
> > by one
> > - Put the batch of entries into the journal's pending queue
> > - Journal thread drains a batch of entries from the pending queue and
> > writes them into PageCache/Journal disk
> > - Write the callback response to the Netty buffer and flush to the
> > bookie client side.
> >
> > With this change, we can save a lot of thread context switches.
> >
> >
> > ### Performance
> > I start one bookie on my laptop and use the Bookkeeper benchmark to
> > test the performance
> > ```shell
> > bin/benchmark writes -ensemble 1 -quorum 1 -ackQuorum 1 -ledgers 50
> > -throttle 2
> > ```
> >
> > **Before this change**
> >
> > | times | ops/sec | p95 latency | p99 latency |
> > | --- | --- | --- | --- |
> > | 1 | 147507 | 114.93 | 122.42 |
> > | 2 | 154571 |  111.46 | 115.86 |
> > | 3 | 141459 | 117.23 | 124.18 |
> > | 4 | 142037 | 121.75 | 128.54 |
> > | 5 | 143682 | 121.05 | 127.97 |
> >
> >
> > **After this change**
> >
> > | times | ops/sec | p95 latency | p99 latency |
> > | --- | --- | --- | --- |
> > | 1 | 157328 | 118.30 | 121.79 |
> > | 2 | 165774 |  112.86 | 115.69 |
> > | 3 | 144790 | 128.94 | 133.24 |
> > | 4 | 151984 | 121.88 | 125.32 |
> > | 5 | 154574 | 121.57 | 124.57 |
> >
> > The new change has a 2.2% improvement.
> >
> > Please leave +1/-1 in this thread to join the vote. And feel free to
> > leave any concerns.
> >
> > Thanks,
> > Hang
> >
>
>
> --
> Andrey Yegorov
>


Re: [ANNOUNCE] Hang Chen on the Apache BookKeeper PMC

2023-03-14 Thread ZhangJian He
Congrats!

Thanks
ZhangJian He


On Tue, 14 Mar 2023 at 19:12, Yunze Xu  wrote:

> Congrats!
>
> Thanks,
> Yunze
>
> On Tue, Mar 14, 2023 at 6:57 PM Max Xu  wrote:
> >
> > Congratulations! Hang. well deserved
> >
> > Best,
> > Max Xu
> >
> >
> > On Tue, Mar 14, 2023 at 5:27 PM Enrico Olivelli 
> wrote:
> >
> > > The Project Management Committee (PMC) for Apache BookKeeper
> > > has invited Hang Chen to become a PMC member and we are pleased
> > > to announce that they have accepted.
> > >
> > > Being a committer enables easier contribution to the
> > > project since there is no need to go via the patch
> > > submission process. This should enable better productivity.
> > > A PMC member helps manage and guide the direction of the project.
> > >
> > > More information about how the ASF works can be found here
> > > https://www.apache.org/foundation/how-it-works.html
> > >
> > > Please join me and celebrate !
> > >
> > > Congratulations Hang !
> > >
> > > Enrico Olivelli
> > >
>


Re: The CI tests didn't cover bookkeeper V2 protocol.

2023-02-20 Thread ZhangJian He
+1

Thanks
ZhangJian He


On Tue, 21 Feb 2023 at 10:08, Hang Chen  wrote:

> +1 for Yong's suggestion.
>
> Thanks,
> Hang
>
> Yan Zhao  于2023年2月20日周一 16:55写道:
> >
> > > According to the original PR's motivation
> > > <https://github.com/apache/bookkeeper/pull/1754>, we wrapped a Netty
> > > allocator
> > > and want to configure something through bookkeeper.
> > > So the user will use our customized allocator and need to obey the
> rules
> > > we introduced. Then the Netty's configuration
> `io.netty.leakDetection.level`
> > > seems useless for us. I think they would never have a chance to take it
> > > differently.
> > >
> > > We defined a new configuration property to configure the
> > > LeakDetectionPolicy.
> > >
> > >
> > >
> > >
> > > *public LeakDetectionPolicy getAllocatorLeakDetectionPolicy() {
> > > return LeakDetectionPolicy
> > > .valueOf(this.getString(ALLOCATOR_LEAK_DETECTION_POLICY,
> > > LeakDetectionPolicy.Paranoid.toString()));}*
> > >
> > > Some users may don't know the `*ALLOCATOR_LEAK_DETECTION_POLICY`*
> > > and only configure* `*io.netty.leakDetection.level` to open the leak
> > > detection.
> > > I would suggest getting both `*ALLOCATOR_LEAK_DETECTION_POLICY`*
> > > and `io.netty.leakDetection.level` from the system property, use the
> highest
> > > policy of it. And then, no matter how you configured it, the detection
> > > policy always worked.
> >
> > Agree.
>


Re: Prometheus metrics provider > upgrade dataskeches lib

2023-02-13 Thread ZhangJian He
Hi, Salvi. I have tried it in https://github.com/apache/bookkeeper/pull/3264
and sent an issue to https://github.com/apache/datasketches-java/issues/398
You can see these for details. Recently, I had no time to keep working on
this. Thank you for working on this.

Thanks
ZhangJian He


On Mon, 13 Feb 2023 at 19:34, Enrico Olivelli  wrote:

> Diego,
>
> Il giorno lun 13 feb 2023 alle ore 11:37 Diego Salvi
>  ha scritto:
> >
> > Hi,
> > I was looking into prometheus-metrics-provider dependencies and I found a
> > dependency to com.yahoo.datasketches:sketches-core:0.8.3.
> > This is really a very old implementation pre apache incubating. Currently
> > it has been ported from yahoo to apache with a current version 3.3.0.
> > In the meantime it changed packages too.
> > Wouldn't it be better to upgrade the dependency to a stable one?
>
> I agree.
> Could you send a patch ?
> Maybe we are on time to deliver the change for 4.16.0
>
> Enrico
>
> >
> > Diego Salvi
>


Re: [DISCUSS] BookKeeper 4.14.7 release

2023-02-08 Thread ZhangJian He
+1

Thanks
ZhangJian He


On Wed, 8 Feb 2023 at 16:45, steven lu  wrote:

> +1
>
> Hang Chen  于2023年2月8日周三 15:16写道:
>
> > Hi everyone,
> >
> > One core dump issue[1] related to RocksDB was introduced by [2] and
> > released in BookKeeper 4.14.6. To fix the RocksDB core dump issue, I
> > pushed one PR [3] to revert the [2] to make branch-4.14 stable.
> >
> > Due to BookKeeper 4.14.6 having the risk of stability, I would like to
> > discuss starting the 4.14.7 release for those critical bug fixes.
> >
> > Here are the PRs for 4.14.7:
> >
> >
> https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.14.7+is%3Aclosed
> >
> > If you have PRs that want to be included in this release, please
> > comment on that PR or tag the label `release/4.14.7`.
> >
> > After those PRs merged, I would like to volunteer to release this patch.
> >
> > Thanks,
> > Hang
> >
> > [1] https://github.com/apache/bookkeeper/issues/3734
> > [2] https://github.com/apache/bookkeeper/pull/3653
> > [3] https://github.com/apache/bookkeeper/pull/3768
> >
>


Re: [ANNOUNCE] New Committer Steven Lu

2022-10-14 Thread ZhangJian He
Congratulations!

Thanks
ZhangJian He

On Fri, 14 Oct 2022 at 19:02, Max Xu  wrote:

> Congratulations! Steven
>
> Best,
> Max Xu
>
>
> On Fri, Oct 14, 2022 at 3:25 PM Enrico Olivelli 
> wrote:
>
> > Hello BookKeepers,
> > I am happy to announce that Steven Lu has been invited to join the
> > Apache BookKeeper project as committer and he accepted the invitation.
> >
> >
> > Congratulations Steven !
> >
> > Best regards
> > Enrico
> >
>


Re: [DISCUSS] BP-58 Change the API for org.apache.bookkeeper.stats.Counter

2022-09-25 Thread ZhangJian He
+1 (non-binding)

Thanks
ZhangJian He

On Sun, 25 Sept 2022 at 20:45, Enrico Olivelli  wrote:

> I agree
>
> Enrico
>
> Il Dom 25 Set 2022, 03:09 steven lu  ha scritto:
>
> > Hi BookKeepers, I've changed the API for
> > org.apache.bookkeeper.stats.Counter:
> > BP-58 <https://github.com/apache/bookkeeper/issues/3502>
> >
> >
> > "Motivation"
> >
> > The latency of the OpStatsLogger.registerSuccessfulEvent calculation is
> to
> > convert the time to milliseconds
> > but Counter.add nothing to do
> > so when using Counter for latency statistics, the time unit and
> > OpStatsLogger are not unified, which is easy to be misleading.
> > then we unified latency metric unit
> >
> > "Proposal"
> >
> > We already have the Counter metric for counting , we just need to
> refactor
> > it and expose it as a public method.
> > My idea is to change the API of org.apache.bookkeeper.stats.Counter
> >
> > when using Counter for count metric, use Counter.addCount,intead of old
> > API(Counter.add)
> > when using Counter for latency metric, use Counter.addLatency
> >
> > "Release"
> >
> > because it change the API,so we don't cherry pick this into released
> > branches
> > so it should go into a major release, like Release-4.16, then we can
> update
> > its implementation in other projects, like pulsar
> >
> >
> >
> > What do you think about it?
> >
>


Re: [VOTE] BP-57 Add a public API for creating embeddable servers

2022-09-25 Thread ZhangJian He
+1 , non binding

Thanks
ZhangJian He

On Sun, 25 Sept 2022 at 21:56, Lan Liang  wrote:

> +1 , non binding.
>
> This is a useful feature!
>
>
>
>
>
>
>
>
> Best Regards,
> Lan Liang
>  Replied Message 
> | From | steven lu |
> | Date | 9/25/2022 08:25 |
> | To |  |
> | Subject | Re: [VOTE] BP-57 Add a public API for creating embeddable
> servers |
> +1 (non binding)
> Great work
>
> Diego Salvi  于2022年9月24日周六 00:00写道:
>
> Hi Bookkeeper Community,
> I would like to start a VOTE on " Add a public API for creating embeddable
> servers."(BP-57)
>
> It is a new public API to create bookie from configuration and/or custom
> implementations without having to deep dive into internal structure. The
> code will be the same used to build standard BK server through Main class
>
> Here is the design detail:
> https://github.com/apache/bookkeeper/issues/3494
>
> Diego Salvi
>
>


Re: [VOTE] BP-56: Support data migration

2022-09-15 Thread ZhangJian He
+1 non-binding

Thanks
ZhangJian He

On Fri, 16 Sept 2022 at 14:27, Enrico Olivelli  wrote:

> +1 (binding)
>
> Enrico
>
> Il giorno ven 16 set 2022 alle ore 08:26 r...@apache.org
>  ha scritto:
> >
> > LGTM +1
> >
> > On 2022/09/15 04:47:25 lordcheng10 wrote:
> > > Hi Bookkeeper Community, I would like to start a VOTE on "Support data
> > migration."(BP-56)
> > >
> > > Here is the design detail:
> > https://github.com/apache/bookkeeper/issues/3456
> > > and the discussion thread:
> > https://lists.apache.org/thread/0zlsm7z5j34j23gtlhf7rf72lfq62jyk
> > >
> > > Thanks,
> > > lordcheng10
>


Re: [DISCUSS] Unify the import order in bookkeeper

2022-07-28 Thread ZhangJian He
https://github.com/apache/bookkeeper/pull/3311 is ready for review.

Thanks
ZhangJian He

On Sun, 5 Jun 2022 at 16:43, ZhangJian He  wrote:

> Hi community, I want to open a discussion about importOrder in bookkeeper.
>
> Currently, we use puppycrawl checkstyle 6.19, which is not strictly verify
> the import order.
> In the recently checkstyle version, it needs a strictly ImportOrder verify
> if configs[1].
> In simple terms, our config ImportOrder is `static import, SPACE LINE,
> import`
>
> We have 2100+ files specify former order. There are 300+ files need to add
> or remove SPACE_LINE to specify this order.
> We have two options
> 1. Remove the ImportOrder config
> 2. modify 300+files to specify this ImportOrder
>
> I prefer the second options for these two reasons.
> 1. ImportOrder makes a better cooperation in community.
> 2. These 300+ files only changes spaceline. It's not a big change(I
> think), but looks scary(changed many files)
>
> ## reference
> 1. ImportOrder checkstyle config for now
> ```
> 
> 
> 
> 
> 
> 
> 
>   value="Import {0} appears after other imports that it should
> precede"/>
> 
> ```
>


Re: [DISCUSS] Bookkeeper 4.16.0 release

2022-07-14 Thread ZhangJian He
Hi, Hang Chen. I hope to get this change into version 4.16.0.
https://github.com/apache/bookkeeper/pull/3406

Thanks
ZhangJian He

Hang Chen  于2022年7月15日周五 11:32写道:

> Hi Community,
>Bookkeeper 4.15.0 has been released for 2 months, and we have
> introduced Direct IO support[1] for ledger and many important bug
> fixes, such as fixing memory leaks [2][3], applying back pressure for
> v2 protocol[4], and so on. I would like to start to discuss releasing
> 4.16.0.
>
>Do you have any concerns? Do you have any other issue/ticket to add
> for 4.16.0?
>
> [1]
> https://github.com/apache/bookkeeper/pulls?q=is%3Apr+bp-47+is%3Aclosed+author%3Ahangc0276
> [2] https://github.com/apache/bookkeeper/pull/3321
> [3] https://github.com/apache/bookkeeper/pull/3323
> [4] https://github.com/apache/bookkeeper/pull/3324
>


Re: microbenchmark depends on JMH which is licensed by GPLv2

2022-07-05 Thread ZhangJian He
I created https://github.com/apache/bookkeeper/pull/3385 to solve this.

ping @enrico @merlimat

Thanks
ZhangJian He

ZhangJian He  于2022年7月6日周三 14:17写道:

> Hi tison. Thank you for telling us about this.
> I will work on remove `microbenchmark` module.
>
> Thanks
> ZhangJian He
>
> tison  于2022年7月4日周一 15:37写道:
>
>> Hi BookKeepers,
>>
>> I notice that the main repo of bookkeeper has a module named
>> microbenchmark
>> which depends on jmh-core[1] which is licensed by GPLv2[2]. According to
>> Apache third party license policy[3] it's of category X and thus it cannot
>> be include in an ASF project.
>>
>> Is the developer team aware of this? Is it an issue that we should take
>> care of?
>>
>> Best,
>> tison.
>>
>> [1]
>>
>> https://github.com/apache/bookkeeper/commit/2fbb2916a323edfc097de0de9b2d81e59b37bf6f
>> [2]
>>
>> http://hg.openjdk.java.net/code-tools/jmh/file/2be2df7dbaf8/jmh-core/LICENSE
>> [3] https://www.apache.org/legal/resolved.html
>>
>


Re: microbenchmark depends on JMH which is licensed by GPLv2

2022-07-05 Thread ZhangJian He
Hi tison. Thank you for telling us about this.
I will work on remove `microbenchmark` module.

Thanks
ZhangJian He

tison  于2022年7月4日周一 15:37写道:

> Hi BookKeepers,
>
> I notice that the main repo of bookkeeper has a module named microbenchmark
> which depends on jmh-core[1] which is licensed by GPLv2[2]. According to
> Apache third party license policy[3] it's of category X and thus it cannot
> be include in an ASF project.
>
> Is the developer team aware of this? Is it an issue that we should take
> care of?
>
> Best,
> tison.
>
> [1]
>
> https://github.com/apache/bookkeeper/commit/2fbb2916a323edfc097de0de9b2d81e59b37bf6f
> [2]
>
> http://hg.openjdk.java.net/code-tools/jmh/file/2be2df7dbaf8/jmh-core/LICENSE
> [3] https://www.apache.org/legal/resolved.html
>


Re: Start to remove gradle from project

2022-06-06 Thread ZhangJian He
@sreeam
Hi, sreeam. I haven't consider Bazel yet.
Currently encountering some problems on gradle, we still using maven for
release.
IMO, using Bazel doesn't solve problems we meet(No active volunteers solve
build problems).

Thanks
ZhangJian He

sreeram duvur  于2022年6月7日周二 05:15写道:

> Have you considered Bazel?
>
> https://youtu.be/dz-CFEwJuko
>
>
> On Mon, Jun 6, 2022 at 1:56 PM Henry Saputra 
> wrote:
>
> > The contributors from Splunk contributed the Gradle build system with the
> > hope that it would replace Maven as the build system for BK, which offers
> > more flexibility and performance.
> > The team has been trying to continue our contributions for updating and
> > fixing the Gradle issues, and the dual build systems are supposed to be
> > temporary until we entirely move to Gradle.
> > However, the team from Splunk had some reprioritization of work hence
> they
> > were not able to fully work on fixing it.
> >
> > However, it seems like there aren't many interests to help pick up Gradle
> > and make it be the only one build system for BK.
> >
> > - Henry
> >
> >
> >
> > On Mon, Jun 6, 2022 at 5:21 AM ZhangJian He  wrote:
> >
> > > Hello, community, the previous discuss is in
> > > https://lists.apache.org/thread/k3pdlpbvkzt061338fkxtppq3z70nk03.
> > >
> > > ## the main reason to remove gradle from porject
> > > 1. Maintaining two build system is burden.
> > > 2. Gradle have other issues and no one actually volunteered to fix
> them.
> > > 3. We don't have active committers who familiar with gradle
> > >
> > > Thanks
> > > ZhangJian He
> > >
> >
>


Start to remove gradle from project

2022-06-06 Thread ZhangJian He
Hello, community, the previous discuss is in
https://lists.apache.org/thread/k3pdlpbvkzt061338fkxtppq3z70nk03.

## the main reason to remove gradle from porject
1. Maintaining two build system is burden.
2. Gradle have other issues and no one actually volunteered to fix them.
3. We don't have active committers who familiar with gradle

Thanks
ZhangJian He


[DISCUSS] Unify the import order in bookkeeper

2022-06-05 Thread ZhangJian He
Hi community, I want to open a discussion about importOrder in bookkeeper.

Currently, we use puppycrawl checkstyle 6.19, which is not strictly verify
the import order.
In the recently checkstyle version, it needs a strictly ImportOrder verify
if configs[1].
In simple terms, our config ImportOrder is `static import, SPACE LINE,
import`

We have 2100+ files specify former order. There are 300+ files need to add
or remove SPACE_LINE to specify this order.
We have two options
1. Remove the ImportOrder config
2. modify 300+files to specify this ImportOrder

I prefer the second options for these two reasons.
1. ImportOrder makes a better cooperation in community.
2. These 300+ files only changes spaceline. It's not a big change(I think),
but looks scary(changed many files)

## reference
1. ImportOrder checkstyle config for now
```









```


[BP-52] Build and Run Bookkeeper on Java11

2022-06-05 Thread ZhangJian He
Hello community, I want to open a discussion about build bookkeeper on
java11
## Motivation
Currently, bookkeeper keeps the compatible with java8. Java11, a lts
version of jdk, provides new features and performance optimization. And
Java11 was released in 2018 and is now mature. I think it's time to migrate
to java11.

## Breaking Changes
java8 is not supported

## Release plan
Including this in bookkeeper 4.16.0

original issue https://github.com/apache/bookkeeper/issues/3313


[discuss] Buildsystems, keep gradle or maven in future

2022-04-27 Thread ZhangJian He
Hello, everyone. After talking with enrico and nicolo. I want to start a
discussion about building systems.
We are now maintaining two build systems, I don't think that we want to
maintain both `maven` and `gradle`.

I think that we need to decide to keep maven or gradle in the future.

Personally, I tend to use maven, the main reason is that we don't have
active gradle experts now and gradle still has problems to solve.


replace some gradle check using maven instead

2022-04-15 Thread ZhangJian He
Hello, now we have backward-compat-tests and pr-validation step Generate
Javadoc.I will try to make pr check consistent with release.

Thanks
ZhangJian He


Re: BookKeeper 4.14.5 - drop Log4J and move to Reload4J?

2022-04-01 Thread ZhangJian He
+1 agree with Nicolò

Thanks
ZhangJian He

Nicolò Boschi  于2022年4月1日周五 21:20写道:

> Enrico, I agree with you and that was what I meant.
>
> To be clear:
> 4.14.3 and older: Log4J 1
> 4.14.5 and 4.14.6...: Reload4J
> 4.15.0 and next: Log4J2
>
> Nicolò Boschi
>
>
> Il giorno ven 1 apr 2022 alle ore 14:51 Enrico Olivelli <
> eolive...@gmail.com>
> ha scritto:
>
> > I prefer Log4J2, Reload4J is really a hack to have Log41 compatibility
> > (and it is not 100% compatible)
> > Log4j1 has many problems, and this is why Apache Logging started a
> > brand new project.
> >
> > It is okay to use Reload4J on old branches in which we cannot break
> > compatibility, but for new releases we should move to Log4j2
> >
> >
> >
> > Enrico
> >
> > Il giorno ven 1 apr 2022 alle ore 14:41 Nicolò Boschi
> >  ha scritto:
> > >
> > > Hi all,
> > > A couple of months ago we removed the usage of Log4J in favor of
> Log4J2 (
> > > https://github.com/apache/bookkeeper/pull/2816).
> > > These changes have only been done for the master branch (and actually
> > > 4.15.0)
> > >
> > > We're still bundling Log4J for the 4.14 line.
> > > I propose to move to Reload4J (https://reload4j.qos.ch/) because it is
> > > maintained and it offers the easiest migration path from Log4J.
> > >
> > > I'd like to do that before releasing 4.14.5
> > > I already sent a pull and I verified that it works correctly
> > > Pull: https://github.com/apache/bookkeeper/pull/3167
> > >
> > > Please review and discuss it.
> > >
> > > Nicolò Boschi
> >
>


Re: [ANNOUNCE] new BookKeeper Committer Nicolò Boschi

2022-03-30 Thread ZhangJian He
Congratulations Nicolò !

Thanks
ZhangJian He

Matteo Minardi  于2022年3月30日周三 17:36写道:

> Congratulations Nico, well deserved!!
>
> Matteo
> On 30 Mar 2022, 09:16 +0200, Enrico Olivelli , wrote:
> > The Project Management Committee (PMC) for Apache BookKeeper
> > has invited Nicolò Boschi to become a committer and we are pleased
> > to announce that he has accepted.
> >
> > Being a committer enables easier contribution to the
> > project since there is no need to go via the patch
> > submission process. This should enable better productivity.
> > A PMC member helps manage and guide the direction of the project.
> >
> > More information about how ASF works here:
> > https://www.apache.org/foundation/how-it-works.html
> >
> >
> > Congratulations Nicolò !
> >
> > Best regards
> > Enrico Olivelli
>