I've been reading the archives regarding rolling upgrades. Here's the scenario, given a stable ensemble:
ZK1 <-> ZK2 <-> ZK3
In the above, the zoo.cfg for each server looks like this (pseudo):
I want to add a new server, ZK4. If I understand this correctly, I'd bring up ZK4 with this config:
At this point, though, the configs don't match in the ensemble. How do the ZK instances handle this?
Once ZK4 is up, ZK1 would get the new config and get restarted. Once ZK1 is up, ZK2 gets new config, etc.
At each point of config change, the cluster is in a confused state about the config. Is there code in ZK to handle this?