Github user ivmaykov commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/184#discussion_r194234574
--- Diff: src/java/main/org/apache/zookeeper/server/quorum/Leader.java ---
@@ -227,19 +229,36 @@ public boolean isQuorumSynced(QuorumVerifier qv) {
private final ServerSocket ss;
- Leader(QuorumPeer self,LeaderZooKeeperServer zk) throws IOException {
+ Leader(QuorumPeer self,LeaderZooKeeperServer zk) throws IOException,
X509Exception {
this.self = self;
this.proposalStats = new ProposalStats();
try {
- if (self.getQuorumListenOnAllIPs()) {
- ss = new ServerSocket(self.getQuorumAddress().getPort());
+ if (self.shouldUsePortUnification()) {
+ if (self.getQuorumListenOnAllIPs()) {
+ ss = new UnifiedServerSocket(new QuorumX509Util(),
self.getQuorumAddress().getPort());
+ } else {
+ ss = new UnifiedServerSocket(new QuorumX509Util());
+ }
+ } else if (self.isSslQuorum()) {
--- End diff --
I find it weird that port unification and ssl quorum are in two different
if branches. I would think that we should check for port unification only when
ssl quorum is true.
---