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

Alexander Shraer commented on ZOOKEEPER-1992:
---------------------------------------------

looks pretty good, thanks. a few comments
- eraseClient() should compare prevQV (the previous committed configuration) 
and qv  or quorumVerifier (the new committed configuration).

something like eraseClient(QuorumVerier prevQV, QuorumVerifier newQV) {
       QuorumServer myOldSpec = prevQV.getAllMembers().get(getId());
       QuorumServer myNewSpec = quorumVerifier.getAllMembers().get(getId());
       return (myNewSpec != null && myNewSpec.clientAddr != null 
               && (myOldSpec == null || myOldSpec.clientAddr == null);
}

maybe change "eraseClient" to something like "eraseStaticClientPortInfo" so 
that its more clear

> backward compatibility of zoo.cfg
> ---------------------------------
>
>                 Key: ZOOKEEPER-1992
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1992
>             Project: ZooKeeper
>          Issue Type: Bug
>    Affects Versions: 3.5.0
>            Reporter: Hongchao Deng
>            Assignee: Hongchao Deng
>            Priority: Blocker
>             Fix For: 3.5.0
>
>         Attachments: draft-2.patch, draft.patch
>
>
> This issue supersedes our discussion in ZOOKEEPER-1989.
> To summarize, ZK users can seamlessly upgrade 3.4 to 3.5. But two things will 
> happen:
> 1. the server list will be separated out as a dynamic file (the original 
> should be backup automatically).
> 2. Client port is mandatory on reconfig. So when reconfig the server itself 
> (its id), the client port in config file will be removed and replaced by the 
> one in reconfig (written in dynamic file).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to