tree 108acbef6dd13762c7ae081cf481a9ec84752a2b
parent 8e8905069f4bff670c0492fe9e28ced0f86bca00
author Mate Szalay-Beko <szalay.beko.mate@gmail.com> 1575035353 +0100
committer Andor Molnar <andor@apache.org> 1575035353 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEP3odFvpCF7HcdeHJ/+NbfxXfoboFAl3hIdkRHGFuZG9yQGFw
 YWNoZS5vcmcACgkQ/+NbfxXfobprLBAAqe69qfEaeZMLzpZm1w+HtJfZ72HABokd
 GTJaZhXoj7RpZ4vh8zQRVtk0+GsjElVvExdxOd33yuOxTQ0Gjl7HWs8oSFNGR9d4
 tBLwsVgahRIrdpz6QSuQYlDx4ZcnOga21ipR9S0Xh9Qa5ScF3JW8VAXXqOPrPg3F
 zGhk0edQtKof8L3EWp/J4WAETulLVqPNPerBfaDMTt9O8aT1hDhWk/+ccTPYJnOL
 9EMmiNpu65iERLeNw9uTq+4xSHuO80t5SiXi4va1mFzVq7rwixFHXqFBvP4KDGgD
 d7DhKMsL52OnIvbZIUo7K8y0iWRx5WYdQLf+lykeRPcW5aKBHZLkz6AgxughEAJO
 gXPSh6R7FPufvCvU/3AYNIpYRS+hr1qvVwnrJEZwo+1LL4VgJz2OthN9MTXDO3qO
 FTAUofvfy5GJOU+xPxJBfSPHSqdaO1HJ7YZzMYE97eF66dWTKyF8D9Ywe+aTLIx8
 5v0Wxf8vkcjSdAFDR/vMALfnnV0+5kzJ1xKWn8JuQsKQelxyuLkZw1jLlx1bjJHX
 Rus9gj2rzwqoz2exLfIihyqp/XFMy0b8HpYR+w9x6x4qDl4AmvMIiEN8iGMCXErK
 vSWp6IsoEBtZUk6G7UDVvZMvCqouzDvkP5HfVlN1UlMmOdMVn3vxgEdQcEHdkhHK
 4sdA8Bpf27w=
 =op7D
 -----END PGP SIGNATURE-----

ZOOKEEPER-3188: Improve resilience to network

This PR is the rebase of the [previous pull request](https://github.com/apache/zookeeper/pull/730), so all the kudos should go to the original authors...

In [ZOOKEEPER-3188](https://issues.apache.org/jira/browse/ZOOKEEPER-3188) we add ability to specify several addresses for quorum operations. Also added reconnection attempts if connection to leader lost.

In this PR I rebased the changes on the current master, resolving some minor conflicts with:
- [ZOOKEEPER-3296](https://issues.apache.org/jira/browse/ZOOKEEPER-3296): Explicitly closing the sslsocket when it failed handshake to prevent issue where peers cannot join quorum
- [ZOOKEEPER-3320](https://issues.apache.org/jira/browse/ZOOKEEPER-3320): Leader election port stop listen when hostname unresolvable for some time
- [ZOOKEEPER-3385](https://issues.apache.org/jira/browse/ZOOKEEPER-3385): Add admin command to display leader
- [ZOOKEEPER-3386](https://issues.apache.org/jira/browse/ZOOKEEPER-3386): Add admin command to display voting view
- [ZOOKEEPER-3398](https://issues.apache.org/jira/browse/ZOOKEEPER-3398): Learner.connectToLeader() may take too long to time-out

I still want to test the feature manually (e.g. using docker containers with multiple virtual networks / interfaces). The steps to the manual test could be recorded in the [google docs](https://docs.google.com/document/d/1iGVwxeHp57qogwfdodCh9b32P2_kOQaJZ2GDo7j36fI/edit?usp=sharing) as well.

Also I think we could add a few more unit tests where we are using multiple addresses. The current tests are using a single address only.

Also the Zookeeper documentation needs to be changed (e.g. by a follow-up Jira?) to promote the new feature and the new config format (possibly including also the admin command documentation in relation with [ZOOKEEPER-3386](https://issues.apache.org/jira/browse/ZOOKEEPER-3386) and [ZOOKEEPER-3461](https://issues.apache.org/jira/browse/ZOOKEEPER-3461))

Author: Mate Szalay-Beko <szalay.beko.mate@gmail.com>
Author: Mate Szalay-Beko <mszalay@cloudera.com>

Reviewers: eolivelli@apache.org, andor@apache.org

Closes #1048 from symat/ZOOKEEPER-3188 and squashes the following commits:

3c6fc52d7 [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-3188
356882d46 [Mate Szalay-Beko] ZOOKEEPER-3188: document new configuration format for using multiple addresses
45b6c0fdb [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-3188
4b6bcea48 [Mate Szalay-Beko] ZOOKEEPER-3188: MultiAddress unit tests for Quorum TLS and Kerberos/Digest authentication
40bc44c23 [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-3188
f875f5c67 [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-3188
31805e79b [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-3188
0f95678ca [Mate Szalay-Beko] ZOOKEEPER-3188: skip unreachable addresses when Learner connects to Leader
e232c55da [Mate Szalay-Beko] ZOOKEEPER-3188: fix flaky unit MultiAddress unit test
e892d8d8e [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-3188
6f2ab755f [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-3188
2eedf2687 [Mate Szalay-Beko] ZOOKEEPER-3188: fix PR commits; handle case when Leader can not bind to port on startup
483d2fc9c [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-3188
a5d6bcb97 [Mate Szalay-Beko] ZOOKEEPER-3188: support for dynamic reconfig + add more unit tests
ed31d2ce9 [Mate Szalay-Beko] ZOOKEEPER-3188: better shutdown for executors (following PR comments)
8713a5bbf [Mate Szalay-Beko] ZOOKEEPER-3188: add fixes for PR comments
05eae83c0 [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-3188
e823af4b1 [Mate Szalay-Beko] Merge remote-tracking branch 'origin/master' into ZOOKEEPER-3188
de7bad2a6 [Mate Szalay-Beko] Merge remote-tracking branch 'origin/master' into ZOOKEEPER-3188
da98a8da6 [Mate Szalay-Beko] ZOOKEEPER-3188: fix JDK-13 warning
5bd1f4e2c [Mate Szalay-Beko] ZOOKEEPER-3188: supress spotbugs warning
42a52a688 [Mate Szalay-Beko] ZOOKEEPER-3188: improve based on code review comments
6c4220a0d [Mate Szalay-Beko] ZOOKEEPER-3188: fix SendWorker.asyncValidateIfSocketIsStillReachable
5b22432c1 [Mate Szalay-Beko] ZOOKEEPER-3188: fix LeaderElection to work with multiple election addresses
7bfbe7e5c [Mate Szalay-Beko] ZOOKEEPER-3188: Improve resilience to network
