[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14085753#comment-14085753
 ] 

Alexander Shraer commented on ZOOKEEPER-1994:
---------------------------------------------

Hi Hongchao, I think we should stick with the design we discussed previously. 
Its always possible to improve later but I think this is a pretty good option. 

Having the version in the file itself in addition to the filename has the 
disadvantage we have now - there is a configuration parameter the user mustn't 
touch otherwise the system will break, but nevertheless its very easy for the 
user to mistakenly change it. Having it just in the filename makes it more 
difficult to mistakenly change.

Again - there may be a more elegant solution but currently I don't see it. 

BTW, when you write the dynamic file you don't need to parse the filename - you 
know the up-to-date version from the quorumVerifier you have in memory. You 
only need to parse it on server boot.


> 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)

Reply via email to