Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
56e0b6c
added multiple addresses support for quorum
achernatsky-cybervision Nov 23, 2018
1b0b78a
fixed converting and improved parsing
achernatsky-cybervision Dec 6, 2018
30edf45
fixed ipv6
achernatsky-cybervision Dec 6, 2018
9a83af7
improved work with multiple addresses
achernatsky-cybervision Dec 12, 2018
818663c
increased timeout
achernatsky-cybervision Dec 12, 2018
e9d174d
Merge branch 'master' into ZOOKEEPER-3188-master
achernatsky-cybervision Dec 14, 2018
dd015b9
integrated with master updates
achernatsky-cybervision Dec 17, 2018
c96a10d
Merge branch 'master' into ZOOKEEPER-3188-master
achernatsky-cybervision Dec 17, 2018
229a027
Revert "increased timeout"
achernatsky-cybervision Dec 17, 2018
976e6d5
fixed sockets closing and empty addresses lists
achernatsky-cybervision Dec 17, 2018
08f8d94
added comments and improved naming
achernatsky-cybervision Dec 18, 2018
af05e0b
added parallel attempts to connect and check if address is reachable
achernatsky-cybervision Dec 24, 2018
76dafbd
Merge branch 'master' into ZOOKEEPER-3188-master
achernatsky-cybervision Dec 26, 2018
5164e2a
added Apache license headers
achernatsky-cybervision Dec 26, 2018
a98774a
improved exceptions handling
achernatsky-cybervision Dec 29, 2018
1e5a2ba
fixed naming, formatting, logging
achernatsky-cybervision Mar 1, 2019
b8dff55
fixed formatting
achernatsky-cybervision Mar 1, 2019
f2284c8
fixed atomicity
Mar 28, 2019
3a30af6
Merge remote-tracking branch 'upstream/master' into ZOOKEEPER-3188-ma…
Apr 1, 2019
2486aee
fixed import
Apr 1, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import org.apache.zookeeper.server.quorum.Observer;
import org.apache.zookeeper.server.quorum.ObserverMXBean;
import org.apache.zookeeper.server.quorum.QuorumPeer;
import java.net.InetSocketAddress;

/**
* ObserverBean
Expand Down Expand Up @@ -52,7 +53,8 @@ public String getLearnerMaster() {
if (learnerMaster == null || learnerMaster.addr == null) {
return "Unknown";
}
return learnerMaster.addr.getAddress().getHostAddress() + ":" + learnerMaster.addr.getPort();
InetSocketAddress address = learnerMaster.addr.getReachableOrOne();
return address.getAddress().getHostAddress() + ":" + address.getPort();
}

public void setLearnerMaster(String learnerMaster) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1186,7 +1186,7 @@ public void processPacket(ServerCnxn cnxn, ByteBuffer incomingBuffer) throws IOE
// there might be a race condition that it enabled recv after
// processing request and then disabled when check throttling.
//
// Be aware that we're actually checking the global outstanding
// Be aware that we're actually checking the global outstanding
// request before this request.
//
// It's fine if the IOException thrown before we decrease the count
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.SocketException;
import java.nio.ByteBuffer;
Expand All @@ -44,8 +45,6 @@

import org.apache.zookeeper.jmx.MBeanRegistry;
import org.apache.zookeeper.server.ZooKeeperThread;
import org.apache.zookeeper.server.quorum.Election;
import org.apache.zookeeper.server.quorum.Vote;
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
import org.apache.zookeeper.server.quorum.QuorumPeer.ServerState;

Expand Down Expand Up @@ -732,8 +731,8 @@ private void process(ToSend m) {
}

for (QuorumServer server : self.getVotingView().values()) {
InetSocketAddress saddr = new InetSocketAddress(server.addr
.getAddress(), port);
InetAddress address = server.addr.getReachableOrOne().getAddress();
InetSocketAddress saddr = new InetSocketAddress(address, port);
addrChallengeMap.put(saddr, new ConcurrentHashMap<Long, Long>());
}

Expand Down Expand Up @@ -763,7 +762,7 @@ public AuthFastLeaderElection(QuorumPeer self) {

private void starter(QuorumPeer self) {
this.self = self;
port = self.getVotingView().get(self.getId()).electionAddr.getPort();
port = self.getVotingView().get(self.getId()).electionAddr.getAllPorts().get(0);
proposedLeader = -1;
proposedZxid = -1;

Expand All @@ -786,11 +785,10 @@ private void leaveInstance() {

private void sendNotifications() {
for (QuorumServer server : self.getView().values()) {

InetSocketAddress address = self.getView().get(server.id).electionAddr.getReachableOrOne();
ToSend notmsg = new ToSend(ToSend.mType.notification,
AuthFastLeaderElection.sequencer++, proposedLeader,
proposedZxid, logicalclock.get(), QuorumPeer.ServerState.LOOKING,
self.getView().get(server.id).electionAddr);
proposedZxid, logicalclock.get(), QuorumPeer.ServerState.LOOKING, address);

sendqueue.offer(notmsg);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
package org.apache.zookeeper.server.quorum;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;

import org.apache.jute.Record;
Expand Down Expand Up @@ -76,13 +75,14 @@ void followLeader() throws InterruptedException {
self.start_fle = 0;
self.end_fle = 0;
fzk.registerJMX(new FollowerBean(this, zk), self.jmxLocalPeerBean);

try {
QuorumServer leaderServer = findLeader();
try {
connectToLeader(leaderServer.addr, leaderServer.hostname);
long newEpochZxid = registerWithLeader(Leader.FOLLOWERINFO);
if (self.isReconfigStateChange())
throw new Exception("learned about role change");
throw new Exception("learned about role change");
//check to see if the leader zxid is lower than ours
//this should never happen but is just a safety check
long newEpoch = ZxidUtils.getEpochFromZxid(newEpochZxid);
Expand Down Expand Up @@ -119,15 +119,14 @@ void followLeader() throws InterruptedException {
} catch (IOException e1) {
e1.printStackTrace();
}

// clear pending revalidations
pendingRevalidations.clear();
}
} finally {
if (om != null) {
om.stop();
}
zk.unregisterJMX((Learner)this);
zk.unregisterJMX((Learner) this);
}
}

Expand Down
Loading