[
https://issues.apache.org/jira/browse/ZOOKEEPER-1987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14073656#comment-14073656
]
Alexander Shraer commented on ZOOKEEPER-1987:
---------------------------------------------
Configurations are ordered using their version numbers. This is how we can
compare two configs and determine which one is older. Initially when you start
up a cluster or a new server is joining its file doesn't have to include a
version. In fact the user should NEVER specify a version. When a leader comes
up, if the config wasn't set yet it sets it to its new zxid, and all config
files are updated. If a new config is proposed, its version is the reconfig op
zxid.
Storing the version in a separate file creates a problem of keeping this file
in sync with the dynamic config file. How would one update them atomically? I
like your idea of making the version part of the filename. This means however
that we'd need to update the static config file every time too, as it has a
link to the dynamic file. But the good thing is that we may not need the bak
files - we can just leave the old dynamic config files.
I'm not sure whether this should be done for 3.5.0 or perhaps later.
> unable to restart 3 node cluster
> --------------------------------
>
> Key: ZOOKEEPER-1987
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1987
> Project: ZooKeeper
> Issue Type: Bug
> Components: tests
> Affects Versions: 3.5.0
> Reporter: Patrick Hunt
> Assignee: Alexander Shraer
> Priority: Blocker
> Fix For: 3.5.0
>
> Attachments: ZOOKEEPER-1987-ver1.patch, ZOOKEEPER-1987-ver2.patch,
> ZOOKEEPER-1987-ver3.patch, ZOOKEEPER-1987.patch, f1.jstack, l3.jstack,
> test3.tar.gz
>
>
> I tried a fairly simple test, start a three node cluster, bring it down, then
> restart it. On restart the servers elect the leader and send updates, however
> the negotiation never completes - the client ports are never bound for
> example.
--
This message was sent by Atlassian JIRA
(v6.2#6252)