[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marshall McMullen updated ZOOKEEPER-1355:
-----------------------------------------

    Attachment: ZOOKEEPER-1355-12-Oct.patch

This is an updated version of patch that applies cleanly to the latest tip of 
trunk.
                
> Add zk.updateServerList(newServerList) 
> ---------------------------------------
>
>                 Key: ZOOKEEPER-1355
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1355
>             Project: ZooKeeper
>          Issue Type: New Feature
>          Components: c client, java client
>            Reporter: Alexander Shraer
>            Assignee: Alexander Shraer
>             Fix For: 3.5.0
>
>         Attachments: loadbalancing-more-details.pdf, loadbalancing.pdf, 
> ZOOKEEPER-1355-10-Oct.patch, ZOOKEEPER-1355-12-Oct.patch, 
> ZOOKEEPER-1355-ver10-1.patch, ZOOKEEPER-1355-ver10-2.patch, 
> ZOOKEEPER-1355-ver10-3.patch, ZOOKEEPER-1355-ver10-4.patch, 
> ZOOKEEPER-1355-ver10-4.patch, ZOOKEEPER-1355-ver10.patch, 
> ZOOKEEPER-1355-ver11-1.patch, ZOOKEEPER-1355-ver11.patch, 
> ZOOKEEPER-1355-ver12-1.patch, ZOOKEEPER-1355-ver12-2.patch, 
> ZOOKEEPER-1355-ver12-4.patch, ZOOKEEPER-1355-ver12.patch, 
> ZOOKEEPER-1355-ver13.patch, ZOOKEEPER-1355-ver14.patch, 
> ZOOKEEPER-1355-ver2.patch, ZOOKEEPER=1355-ver3.patch, 
> ZOOKEEPER-1355-ver4.patch, ZOOKEEPER-1355-ver5.patch, 
> ZOOKEEPER-1355-ver6.patch, ZOOKEEPER-1355-ver7.patch, 
> ZOOKEEPER-1355-ver8.patch, ZOOKEEPER-1355-ver9-1.patch, 
> ZOOKEEPER-1355-ver9.patch, ZOOOKEEPER-1355.patch, ZOOOKEEPER-1355-test.patch, 
> ZOOOKEEPER-1355-ver1.patch
>
>
> When the set of servers changes, we would like to update the server list 
> stored by clients without restarting the clients.
> Moreover, assuming that the number of clients per server is the same (in 
> expectation) in the old configuration (as guaranteed by the current list 
> shuffling for example), we would like to re-balance client connections across 
> the new set of servers in a way that a) the number of clients per server is 
> the same for all servers (in expectation) and b) there is no 
> excessive/unnecessary client migration.
> It is simple to achieve (a) without (b) - just re-shuffle the new list of 
> servers at every client. But this would create unnecessary migration, which 
> we'd like to avoid.
> We propose a simple probabilistic migration scheme that achieves (a) and (b) 
> - each client locally decides whether and where to migrate when the list of 
> servers changes. The attached document describes the scheme and shows an 
> evaluation of it in Zookeeper. We also implemented re-balancing through a 
> consistent-hashing scheme and show a comparison. We derived the probabilistic 
> migration rules from a simple formula that we can also provide, if someone's 
> interested in the proof.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to