Skip to content

Commit

Permalink
Disable Zookeeper multi address
Browse files Browse the repository at this point in the history
Motivation:

Zookeeper 3.6 added a new option that was ability to set mulitple
addersss for quorum operations. apache/zookeeper#1048
The multiaddres was not compatible with the old protocol used in
ZooKeeper 3.5.x, so the option has been disabled by apache/zookeeper#1251.

In apache/zookeeper#1251, the default value of
`QuorumPeer.multiAddressEnabled` was changed.
https://github.com/apache/zookeeper/blob/e08cc2a782982964a57651f179a468b19e2e6010/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeer.java#L174-L180
Since CentralDogma directly extends `QuorumPeer`, `zookeeper.multiadress`
is activated automatically and Central Dogma using Zookeeper 3.5.x
can't be upgraded with rolling deployment.

Modifications:

- Set `multiAddressEnabled` to false when creating `EmbeddedZooKeeper`

Result:

- Fixed an issue where CentralDogma does not perform rolling updates due to Zookeeper invalid protocol version.
  - Note that this bug affects 0.61.2, 0.61.3 and 0.61.4
  • Loading branch information
ikhoon committed Jul 10, 2023
1 parent 69572e1 commit c1e7967
Showing 1 changed file with 1 addition and 0 deletions.
Expand Up @@ -78,6 +78,7 @@ final class EmbeddedZooKeeper extends QuorumPeer {
setLearnerType(zkCfg.getPeerType());
setSyncEnabled(zkCfg.getSyncEnabled());
setQuorumListenOnAllIPs(zkCfg.getQuorumListenOnAllIPs());
setMultiAddressEnabled(false);

configureSasl();

Expand Down

0 comments on commit c1e7967

Please sign in to comment.