-
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
Update ZooKeeper to 3.6.2 and Curator to 5.1.0 #8590
Conversation
@sijie @jiazhai there is no hurry at all |
This patch is waiting for BK 4.12.1 release, a VOTE is pending on BK community |
BK vote completed @codelipenghui PTAL |
@merlimat @codelipenghui this patch is good to go as soon as CI passes |
@@ -84,7 +84,16 @@ | |||
<classifier>tests</classifier> | |||
<scope>test</scope> | |||
</dependency> | |||
|
|||
<dependency> | |||
<groupId>io.dropwizard.metrics</groupId> |
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 you explain why do we need this? I failed to see this dependency was used here. The same question apply to the other dependency.
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.
because from zk 3.6 onwards the "zookeeper" Maven artifact does not import those dependencies anymore to the dependant projects.
This is because we (ZooKeeper project community) want to say that this artifact is only the "zookeeper java client" and the zookeeper java client does not need such jars.
But we still do not provide a "zookeeper server" jar
In Pulsar we are also running the ZooKeeper server (both for production and for tests) and so we need to explicitly add those two jar to the build, otherwise the ZooKeeper server won't start
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 good to leave a comment with the reason we're adding these, otherwise down the road it will be difficult to remember the rationale.
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.
@sijie PTAL the description was added on the new deps
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
2 similar comments
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
- io.dropwizard.metrics-metrics-core-3.1.0.jar | ||
- io.dropwizard.metrics-metrics-graphite-3.1.0.jar | ||
- io.dropwizard.metrics-metrics-jvm-3.1.0.jar | ||
- io.dropwizard.metrics-metrics-core-3.2.5.jar |
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.
Bookkeeper uses Zookeeper 3.6.2 and dropwizard 3.1.0, I think it makes sense to keep dependency versions in sync to avoid surprises later
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.
@dlg99 I can't remember why I had to make this bump.
Probably it is the same version as in ZK.
I would prefer to upgrade this dep in BK 4.13.
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
@sijie PTAL again |
This reverts commit 9c39ca0.
…10803) ### Motivation After upgrade zookeeper version to 3.6.2 in #8590 and removed AspectJ based metrics for ZooKeeper in #10533, the zookeeper's prometheus metric has lost if we start zookeeper by `bin/puldar-daemon start zookeeper`. Due to zookeeper 3.6.0+ has add internal prometheus metric provider, so we can turn on by default in pulsar. ### Modification 1. turn on zookeeper prometheus metric provider by default in `conf/zookeeper.conf` and use 8000 as default port sync with old zookeeper metric port 2. add grafana panel for new zookeeper metrics 3. remove old prometheus metric provider in `ZooKeeperStarter` and `ConfigurationStoreStarter`. 4. update reference-metric.md doc
…pache#10803) ### Motivation After upgrade zookeeper version to 3.6.2 in apache#8590 and removed AspectJ based metrics for ZooKeeper in apache#10533, the zookeeper's prometheus metric has lost if we start zookeeper by `bin/puldar-daemon start zookeeper`. Due to zookeeper 3.6.0+ has add internal prometheus metric provider, so we can turn on by default in pulsar. ### Modification 1. turn on zookeeper prometheus metric provider by default in `conf/zookeeper.conf` and use 8000 as default port sync with old zookeeper metric port 2. add grafana panel for new zookeeper metrics 3. remove old prometheus metric provider in `ZooKeeperStarter` and `ConfigurationStoreStarter`. 4. update reference-metric.md doc
…pache#10803) After upgrade zookeeper version to 3.6.2 in apache#8590 and removed AspectJ based metrics for ZooKeeper in apache#10533, the zookeeper's prometheus metric has lost if we start zookeeper by `bin/puldar-daemon start zookeeper`. Due to zookeeper 3.6.0+ has add internal prometheus metric provider, so we can turn on by default in pulsar. 1. turn on zookeeper prometheus metric provider by default in `conf/zookeeper.conf` and use 8000 as default port sync with old zookeeper metric port 2. add grafana panel for new zookeeper metrics 3. remove old prometheus metric provider in `ZooKeeperStarter` and `ConfigurationStoreStarter`. 4. update reference-metric.md doc
…pache#10803) ### Motivation After upgrade zookeeper version to 3.6.2 in apache#8590 and removed AspectJ based metrics for ZooKeeper in apache#10533, the zookeeper's prometheus metric has lost if we start zookeeper by `bin/puldar-daemon start zookeeper`. Due to zookeeper 3.6.0+ has add internal prometheus metric provider, so we can turn on by default in pulsar. ### Modification 1. turn on zookeeper prometheus metric provider by default in `conf/zookeeper.conf` and use 8000 as default port sync with old zookeeper metric port 2. add grafana panel for new zookeeper metrics 3. remove old prometheus metric provider in `ZooKeeperStarter` and `ConfigurationStoreStarter`. 4. update reference-metric.md doc
Motivation
Upgrade to latest stable ZK version 3.6.2. The new minor versions brings several advantages:
Performance improvements (eg: tuning group commit on txn log)
Prometheus based metrics (so that we can get rid of AspectJ hacky way to instrument ZK)
New features like persistent recursive watches which would greatly simplify the logic to handle metadata cache invalidations.
The possibility of rollback to previous version has also been validated.
Modifications
Verifying this change
Problems
Unfortunately we cannot upgrade Curator because there is an error with "pulsar standalone":
Basically we have to upgrade ZooKeeper and Curator on BookKeeper before doing this change here