[ https://issues.apache.org/jira/browse/ZOOKEEPER-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13496920#comment-13496920 ]
Hadoop QA commented on ZOOKEEPER-1355: -------------------------------------- +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12553464/ZOOKEEPER-1355-13-Nov-ver2.patch against trunk revision 1404288. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 31 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1261//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1261//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1261//console This message is automatically generated. > 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-13-Nov.patch, ZOOKEEPER-1355-13-Nov-ver2.patch, > ZOOKEEPER-1355-13-Oct.patch, ZOOKEEPER-1355-6-Nov.patch, > ZOOKEEPER-1355-6-Nov-ver2.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