[
https://issues.apache.org/jira/browse/ZOOKEEPER-1994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14083681#comment-14083681
]
Hongchao Deng commented on ZOOKEEPER-1994:
------------------------------------------
Thanks for the comments. [~shralex]
Could you explain
{code}
if (clientPortAddress!=null && qs!=null && qs.clientAddr!=null){
if ((!clientPortAddress.getAddress().isAnyLocalAddress()
&& !clientPortAddress.equals(qs.clientAddr)) ||
(clientPortAddress.getAddress().isAnyLocalAddress()
&&
clientPortAddress.getPort()!=qs.clientAddr.getPort()))
throw new ConfigException("client address for this server
(id = " + serverId + ") in static config file is " + clientPortAddress + " is
different from client address found in dynamic file: " + qs.clientAddr);
else {
editStaticConfig(configFileStr, dynamicConfigFileStr, true);
}
}
{code}
the logic behind this and why it causes the race?
> Backup config files.
> --------------------
>
> Key: ZOOKEEPER-1994
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1994
> Project: ZooKeeper
> Issue Type: Improvement
> Affects Versions: 3.5.0
> Reporter: Hongchao Deng
> Assignee: Hongchao Deng
> Fix For: 3.5.1
>
> Attachments: draft.patch, first-try.patch, static-backup.patch
>
>
> We should create a backup file for a static or dynamic configuration file
> before changing the file.
> Since the static file is changed at most twice (once when removing the
> ensemble definitions, at which point a dynamic file doesn't exist yet, and
> once when removing clientPort information) its probably fine to back up the
> static file independently from the dynamic file.
> To track backup history:
> Option 1: we could have a .bakXX extention for backup where XX is a sequence
> number.
> Option 2: have the configuration version be part of the file name for dynamic
> configuration files (instead of in the file like now). Such as
> zoo_replicated1.cfg.dynamic.1000000 then on reconfiguration simply create a
> new dynamic file (with new version) and update the link in the static file to
> point to the new dynamic one.
> Review place:
> https://reviews.apache.org/r/24208/
--
This message was sent by Atlassian JIRA
(v6.2#6252)