-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Issue 9728] Upgrade GRPC and bookkeeper #9729
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice work!
Especially the work that has been done on BK in order to make BK stream storage stable, that is the foundation for Pulsar Stateful Function .
I left one comment please take a look
@@ -124,7 +124,7 @@ flexible messaging model and an intuitive client API.</description> | |||
<typetools.version>0.5.0</typetools.version> | |||
<protobuf3.version>3.11.4</protobuf3.version> | |||
<protoc3.version>${protobuf3.version}</protoc3.version> | |||
<grpc.version>1.18.0</grpc.version> | |||
<grpc.version>1.33.0</grpc.version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we jump to 1.36.0 ?
I known that in BK we stick to 1.33 but IIRC it is due to the etcd client. In Pulsar we do not have an etcd client.
As it will still take more time to test 2.8 before a release, we could upgrade to latest GRPC version now and have all of the time to see if it is working well with Pulsar
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@eolivelli Etcd client broke because grpc 1.36 depends on netty 1.52.
From what I understood, the culprit was was this change netty/netty#10407 in 4.1.52 that got reverted netty/netty#10980
The change got reverted because TLS_FALSE_START slightly changes the "flow" during handshake which may cause suprises for the end-user
We can try mixing netty 1.51 (or 1.59, where the change is supposedly reverted, it was not out when I tested bookkeeper) with grpc 1.36 but I am not sure how much I can rely on existing tests (and many of them don't pass currently anyways, with or without my changes). I'd very much prefer not to experiment with this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fine to me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be useful to switch to use gprc-bom also in Pulsar, in the similar way as it was done for Bookkeeper: https://github.com/apache/bookkeeper/blob/7327e3b1c636ed42bdbe231fc30bcb73e527fee8/pom.xml#L462-L468 .
gprc-bom became available in 1.25 and that's why it hasn't been used before.
…java.lang.NoClassDefFoundError: io/perfmark/PerfMark
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Nice work
@@ -124,7 +124,7 @@ flexible messaging model and an intuitive client API.</description> | |||
<typetools.version>0.5.0</typetools.version> | |||
<protobuf3.version>3.11.4</protobuf3.version> | |||
<protoc3.version>${protobuf3.version}</protoc3.version> | |||
<grpc.version>1.18.0</grpc.version> | |||
<grpc.version>1.33.0</grpc.version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be useful to switch to use gprc-bom also in Pulsar, in the similar way as it was done for Bookkeeper: https://github.com/apache/bookkeeper/blob/7327e3b1c636ed42bdbe231fc30bcb73e527fee8/pom.xml#L462-L468 .
gprc-bom became available in 1.25 and that's why it hasn't been used before.
* Upgraded bookkeeper to 4.13.0; grpc to 1.33 * updated LICENSE * fixed the rest of the license check * no idea why license check results on CI are different from local :/ * one more license fix * Integration tests failed to start container/service there because of java.lang.NoClassDefFoundError: io/perfmark/PerfMark * another try to get the permark.jar in * another take on perfmark.jar and integration tests * add perfmark.jar to LICENSE
* Upgraded bookkeeper to 4.13.0; grpc to 1.33 * updated LICENSE * fixed the rest of the license check * no idea why license check results on CI are different from local :/ * one more license fix * Integration tests failed to start container/service there because of java.lang.NoClassDefFoundError: io/perfmark/PerfMark * another try to get the permark.jar in * another take on perfmark.jar and integration tests * add perfmark.jar to LICENSE
* [Issue 9728] Upgrade GRPC and bookkeeper (apache#9729) * Upgraded bookkeeper to 4.13.0; grpc to 1.33 Fixes apache#10937 *Motivation* The previours bk version was introduce an incompatible issue with BouncyCastle FIPS. BookKeeper already fix this and we should upgrade the version to resolve the issue. For more information: apache#10937 *Modifications* * Upgrade to BookKeeper 4.14.3 (apache#12760) * Fixed additional post-cherry-pick conflicts Co-authored-by: hangc0276 <chenhang@apache.org> Co-authored-by: chenhang <chenhang@bigo.sg> Co-authored-by: Yong Zhang <zhangyong1025.zy@gmail.com> Co-authored-by: Matteo Merli <mmerli@apache.org>
* Upgraded bookkeeper to 4.13.0; grpc to 1.33 * updated LICENSE * fixed the rest of the license check * no idea why license check results on CI are different from local :/ * one more license fix * Integration tests failed to start container/service there because of java.lang.NoClassDefFoundError: io/perfmark/PerfMark * another try to get the permark.jar in * another take on perfmark.jar and integration tests * add perfmark.jar to LICENSE
Fixes #9728
Motivation
Upgrading dependencies to avoid dealing with deadlocks caused by old version of grpc
Modifications
Upgraded Bookkeeper and GRPC dependencies
Verifying this change
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:
If
yes
was chosen, please highlight the changes