Author: fpj Date: Wed Sep 23 17:18:08 2015 New Revision: 1704903 URL: http://svn.apache.org/viewvc?rev=1704903&view=rev Log: ZOOKEEPER-1506: Re-try DNS hostname -> IP resolution if node connection fails (Robert Thille via fpj)
Modified: zookeeper/branches/branch-3.4/.gitignore zookeeper/branches/branch-3.4/CHANGES.txt zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/Learner.java zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/BaseSysTest.java zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/CnxManagerTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEBackwardElectionRoundTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLECompatibilityTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEDontCareTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLELostMessageTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEPredicateTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLERestartTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEZeroWeightTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/HierarchicalQuorumTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LENonTerminateTest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LETest.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumBase.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumUtil.java zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/TruncateTest.java Modified: zookeeper/branches/branch-3.4/.gitignore URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/.gitignore?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/.gitignore (original) +++ zookeeper/branches/branch-3.4/.gitignore Wed Sep 23 17:18:08 2015 @@ -8,3 +8,15 @@ src/c/generated/ src/java/generated/ src/java/lib/ant-eclipse-* src/java/lib/ivy-* +src/c/Makefile.in +src/c/aclocal.m4 +src/c/autom4te.cache/ +src/c/compile +src/c/config.guess +src/c/config.h.in +src/c/config.sub +src/c/configure +src/c/depcomp +src/c/install-sh +src/c/ltmain.sh +src/c/missing Modified: zookeeper/branches/branch-3.4/CHANGES.txt URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/CHANGES.txt?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/CHANGES.txt (original) +++ zookeeper/branches/branch-3.4/CHANGES.txt Wed Sep 23 17:18:08 2015 @@ -116,6 +116,9 @@ BUGFIXES: ZOOKEEPER-2256: Zookeeper is not using specified JMX port in zkEnv.sh (Arshad Mohammad via rakeshr) + + ZOOKEEPER-1506: Re-try DNS hostname -> IP resolution if node connection + fails (Robert Thille via fpj) IMPROVEMENTS: Modified: zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/Learner.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/Learner.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/Learner.java (original) +++ zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/Learner.java Wed Sep 23 17:18:08 2015 @@ -197,6 +197,9 @@ public class Learner { Vote current = self.getCurrentVote(); for (QuorumServer s : self.getView().values()) { if (s.id == current.getId()) { + // Ensure we have the leader's correct IP address before + // attempting to connect. + s.recreateSocketAddresses(); addr = s.addr; break; } Modified: zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java (original) +++ zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java Wed Sep 23 17:18:08 2015 @@ -390,11 +390,22 @@ public class QuorumCnxManager { // detail. LOG.warn("Cannot open channel to " + sid + " at election address " + electionAddr, e); + // Resolve hostname for this server in case the + // underlying ip address has changed. + if (self.getView().containsKey(sid)) { + self.getView().get(sid).recreateSocketAddresses(); + } throw e; } catch (IOException e) { LOG.warn("Cannot open channel to " + sid + " at election address " + electionAddr, e); + // We can't really tell if the server is actually down or it failed + // to connect to the server because the underlying IP address + // changed. Resolve the hostname again just in case. + if (self.getView().containsKey(sid)) { + self.getView().get(sid).recreateSocketAddresses(); + } } } else { LOG.debug("There is a connection already for server " + sid); Modified: zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java (original) +++ zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java Wed Sep 23 17:18:08 2015 @@ -26,8 +26,10 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.net.DatagramPacket; import java.net.DatagramSocket; +import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.SocketException; +import java.net.UnknownHostException; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Collections; @@ -93,20 +95,20 @@ public class QuorumPeer extends ZooKeepe private ZKDatabase zkDb; public static class QuorumServer { - public QuorumServer(long id, InetSocketAddress addr, + private QuorumServer(long id, InetSocketAddress addr, InetSocketAddress electionAddr) { this.id = id; this.addr = addr; this.electionAddr = electionAddr; } - public QuorumServer(long id, InetSocketAddress addr) { + private QuorumServer(long id, InetSocketAddress addr) { this.id = id; this.addr = addr; this.electionAddr = null; } - public QuorumServer(long id, InetSocketAddress addr, + private QuorumServer(long id, InetSocketAddress addr, InetSocketAddress electionAddr, LearnerType type) { this.id = id; this.addr = addr; @@ -114,10 +116,67 @@ public class QuorumPeer extends ZooKeepe this.type = type; } + public QuorumServer(long id, String hostname, + Integer port, Integer electionPort, + LearnerType type) { + this.id = id; + this.hostname=hostname; + if (port!=null){ + this.port=port; + } + if (electionPort!=null){ + this.electionPort=electionPort; + } + if (type!=null){ + this.type = type; + } + this.recreateSocketAddresses(); + } + + /** + * Performs a DNS lookup of hostname and (re)creates the this.addr and + * this.electionAddr InetSocketAddress objects as appropriate + * + * If the DNS lookup fails, this.addr and electionAddr remain + * unmodified, unless they were never set. If this.addr is null, then + * it is set with an unresolved InetSocketAddress object. this.electionAddr + * is handled similarly. + */ + public void recreateSocketAddresses() { + InetAddress address = null; + try { + address = InetAddress.getByName(this.hostname); + LOG.info("Resolved hostname: {} to address: {}", this.hostname, address); + this.addr = new InetSocketAddress(address, this.port); + if (this.electionPort > 0){ + this.electionAddr = new InetSocketAddress(address, this.electionPort); + } + } catch (UnknownHostException ex) { + LOG.warn("Failed to resolve address: {}", this.hostname, ex); + // Have we succeeded in the past? + if (this.addr != null) { + // Yes, previously the lookup succeeded. Leave things as they are + return; + } + // The hostname has never resolved. Create our InetSocketAddress(es) as unresolved + this.addr = InetSocketAddress.createUnresolved(this.hostname, this.port); + if (this.electionPort > 0){ + this.electionAddr = InetSocketAddress.createUnresolved(this.hostname, + this.electionPort); + } + } + } + public InetSocketAddress addr; public InetSocketAddress electionAddr; + public String hostname; + + public int port=2888; + + public int electionPort=-1; + public long id; public LearnerType type = LearnerType.PARTICIPANT; Modified: zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java (original) +++ zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java Wed Sep 23 17:18:08 2015 @@ -185,31 +185,27 @@ public class QuorumPeerConfig { + " does not have the form host:port or host:port:port " + " or host:port:port:type"); } - InetSocketAddress addr = new InetSocketAddress(parts[0], - Integer.parseInt(parts[1])); - if (parts.length == 2) { - servers.put(Long.valueOf(sid), new QuorumServer(sid, addr)); - } else if (parts.length == 3) { - InetSocketAddress electionAddr = new InetSocketAddress( - parts[0], Integer.parseInt(parts[2])); - servers.put(Long.valueOf(sid), new QuorumServer(sid, addr, - electionAddr)); - } else if (parts.length == 4) { - InetSocketAddress electionAddr = new InetSocketAddress( - parts[0], Integer.parseInt(parts[2])); - LearnerType type = LearnerType.PARTICIPANT; + LearnerType type = null; + String hostname = parts[0]; + Integer port = Integer.parseInt(parts[1]); + Integer electionPort = null; + if (parts.length > 2){ + electionPort=Integer.parseInt(parts[2]); + } + if (parts.length > 3){ if (parts[3].toLowerCase().equals("observer")) { type = LearnerType.OBSERVER; - observers.put(Long.valueOf(sid), new QuorumServer(sid, addr, - electionAddr,type)); } else if (parts[3].toLowerCase().equals("participant")) { type = LearnerType.PARTICIPANT; - servers.put(Long.valueOf(sid), new QuorumServer(sid, addr, - electionAddr,type)); } else { throw new ConfigException("Unrecognised peertype: " + value); } } + if (type == LearnerType.OBSERVER){ + observers.put(Long.valueOf(sid), new QuorumServer(sid, hostname, port, electionPort, type)); + } else { + servers.put(Long.valueOf(sid), new QuorumServer(sid, hostname, port, electionPort, type)); + } } else if (key.startsWith("group")) { int dot = key.indexOf('.'); long gid = Long.parseLong(key.substring(dot + 1)); Modified: zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/BaseSysTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/BaseSysTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/BaseSysTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/BaseSysTest.java Wed Sep 23 17:18:08 2015 @@ -149,12 +149,8 @@ public class BaseSysTest extends TestCas qps = new QuorumPeer[count]; qpsDirs = new File[count]; for(int i = 1; i <= count; i++) { - InetSocketAddress peerAddress = new InetSocketAddress("127.0.0.1", - fakeBasePort + i); - InetSocketAddress electionAddr = new InetSocketAddress("127.0.0.1", - serverCount + fakeBasePort + i); - peers.put(Long.valueOf(i), new QuorumServer(i, peerAddress, - electionAddr)); + peers.put(Long.valueOf(i), new QuorumServer( + i, "127.0.0.1", fakeBasePort + i, serverCount + fakeBasePort + i, null)); } StringBuilder sb = new StringBuilder(); for(int i = 0; i < count; i++) { Modified: zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java (original) +++ zookeeper/branches/branch-3.4/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java Wed Sep 23 17:18:08 2015 @@ -163,7 +163,7 @@ class QuorumPeerInstance implements Inst peers = new HashMap<Long,QuorumServer>(); for(int i = 0; i < parts.length; i++) { String subparts[] = parts[i].split(":"); - peers.put(Long.valueOf(i), new QuorumServer(i, new InetSocketAddress(subparts[0], Integer.parseInt(subparts[1])))); + peers.put(Long.valueOf(i), new QuorumServer(i, subparts[0], Integer.parseInt(subparts[1]), 0, null)); } try { if (LOG.isDebugEnabled()) { Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/CnxManagerTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/CnxManagerTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/CnxManagerTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/CnxManagerTest.java Wed Sep 23 17:18:08 2015 @@ -66,9 +66,9 @@ public class CnxManagerTest extends ZKTe peerQuorumPort[i] = PortAssignment.unique(); peerClientPort[i] = PortAssignment.unique(); peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress(peerQuorumPort[i]), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(i, "0.0.0.0", + peerQuorumPort[i], + PortAssignment.unique(), null)); peerTmpdir[i] = ClientBase.createTmpDir(); } } @@ -164,15 +164,14 @@ public class CnxManagerTest extends ZKTe public void testCnxManagerTimeout() throws Exception { Random rand = new Random(); byte b = (byte) rand.nextInt(); + int finalOctet = b & 0xFF; int deadPort = PortAssignment.unique(); - String deadAddress = new String("10.1.1." + b); + String deadAddress = new String("192.0.2." + finalOctet); LOG.info("This is the dead address I'm trying: " + deadAddress); peers.put(Long.valueOf(2), - new QuorumServer(2, - new InetSocketAddress(deadAddress, deadPort), - new InetSocketAddress(deadAddress, PortAssignment.unique()))); + new QuorumServer(2, deadAddress, deadPort, PortAssignment.unique(), null)); peerTmpdir[2] = ClientBase.createTmpDir(); QuorumPeer peer = new QuorumPeer(peers, peerTmpdir[1], peerTmpdir[1], peerClientPort[1], 3, 1, 1000, 2, 2); Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEBackwardElectionRoundTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEBackwardElectionRoundTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEBackwardElectionRoundTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEBackwardElectionRoundTest.java Wed Sep 23 17:18:08 2015 @@ -93,9 +93,8 @@ public class FLEBackwardElectionRoundTes for(int i = 0; i < count; i++) { int clientport = PortAssignment.unique(); peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress(clientport), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(i, "0.0.0.0", clientport, + PortAssignment.unique(), null)); tmpdir[i] = ClientBase.createTmpDir(); port[i] = clientport; } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLECompatibilityTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLECompatibilityTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLECompatibilityTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLECompatibilityTest.java Wed Sep 23 17:18:08 2015 @@ -273,9 +273,9 @@ public class FLECompatibilityTest extend throws Exception { for (int i = 0; i < count; i++) { peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress(PortAssignment.unique()), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(i, "0.0.0.0", + PortAssignment.unique(), + PortAssignment.unique(), null)); tmpdir[i] = ClientBase.createTmpDir(); port[i] = PortAssignment.unique(); } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEDontCareTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEDontCareTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEDontCareTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLEDontCareTest.java Wed Sep 23 17:18:08 2015 @@ -74,8 +74,7 @@ public class FLEDontCareTest { peers = new HashMap<Long,QuorumServer>(); for(int i = 0; i < 5; i++) { peers.put(Long.valueOf(i), - new QuorumServer(Long.valueOf(i), - new InetSocketAddress("127.0.0.1", PortAssignment.unique()))); + new QuorumServer(Long.valueOf(i), "127.0.0.1", PortAssignment.unique(), 0, null)); } peer = new QuorumPeer(peers, tmpdir, Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLELostMessageTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLELostMessageTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLELostMessageTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/FLELostMessageTest.java Wed Sep 23 17:18:08 2015 @@ -71,9 +71,8 @@ public class FLELostMessageTest extends for(int i = 0; i < count; i++) { int clientport = PortAssignment.unique(); peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress(clientport), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(i, "0.0.0.0", clientport, + PortAssignment.unique(), null)); tmpdir[i] = ClientBase.createTmpDir(); port[i] = clientport; } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java Wed Sep 23 17:18:08 2015 @@ -1394,8 +1394,8 @@ public class Zab1_0Test { peer.initLimit = 2; peer.tickTime = 2000; peer.quorumPeers = new HashMap<Long, QuorumServer>(); - peer.quorumPeers.put(1L, new QuorumServer(0, new InetSocketAddress(33221))); - peer.quorumPeers.put(1L, new QuorumServer(1, new InetSocketAddress(33223))); + peer.quorumPeers.put(1L, new QuorumServer(0, "0.0.0.0", 33221, 0, null)); + peer.quorumPeers.put(1L, new QuorumServer(1, "0.0.0.0", 33223, 0, null)); peer.setQuorumVerifier(new QuorumMaj(3)); peer.setCnxnFactory(new NullServerCnxnFactory()); File version2 = new File(tmpDir, "version-2"); Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java Wed Sep 23 17:18:08 2015 @@ -157,9 +157,8 @@ public class FLENewEpochTest extends ZKT LOG.info("TestLE: " + getTestName()+ ", " + count); for(int i = 0; i < count; i++) { peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress(PortAssignment.unique()), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(i, "0.0.0.0", PortAssignment.unique(), + PortAssignment.unique(), null)); tmpdir[i] = ClientBase.createTmpDir(); port[i] = PortAssignment.unique(); } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEPredicateTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEPredicateTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEPredicateTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEPredicateTest.java Wed Sep 23 17:18:08 2015 @@ -62,9 +62,8 @@ public class FLEPredicateTest extends ZK */ for(int i = 0; i < 3; i++) { peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress(PortAssignment.unique()), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(i, "0.0.0.0", PortAssignment.unique(), + PortAssignment.unique(), null)); } /* Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLERestartTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLERestartTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLERestartTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLERestartTest.java Wed Sep 23 17:18:08 2015 @@ -178,9 +178,8 @@ public class FLERestartTest extends ZKTe LOG.info("TestLE: " + getTestName()+ ", " + count); for(int i = 0; i < count; i++) { peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress(PortAssignment.unique()), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(i, "0.0.0.0", PortAssignment.unique(), + PortAssignment.unique(), null)); tmpdir[i] = ClientBase.createTmpDir(); port[i] = PortAssignment.unique(); } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java Wed Sep 23 17:18:08 2015 @@ -269,9 +269,8 @@ public class FLETest extends ZKTestCase LOG.info("TestLE: " + getTestName()+ ", " + count); for(int i = 0; i < count; i++) { peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress(PortAssignment.unique()), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(i, "0.0.0.0", PortAssignment.unique(), + PortAssignment.unique(), null)); tmpdir[i] = ClientBase.createTmpDir(); port[i] = PortAssignment.unique(); } @@ -366,9 +365,8 @@ public class FLETest extends ZKTestCase ArrayList<QuorumPeer> peerList = new ArrayList<QuorumPeer>(); for(sid = 0; sid < 3; sid++) { peers.put(Long.valueOf(sid), - new QuorumServer(sid, - new InetSocketAddress(PortAssignment.unique()), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(sid, "0.0.0.0", PortAssignment.unique(), + PortAssignment.unique(), null)); tmpdir[sid] = ClientBase.createTmpDir(); port[sid] = PortAssignment.unique(); } @@ -423,9 +421,8 @@ public class FLETest extends ZKTestCase ArrayList<QuorumPeer> peerList = new ArrayList<QuorumPeer>(); for(sid = 0; sid < 3; sid++) { peers.put(Long.valueOf(sid), - new QuorumServer(sid, - new InetSocketAddress(PortAssignment.unique()), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(sid, "0.0.0.0", PortAssignment.unique(), + PortAssignment.unique(), null)); tmpdir[sid] = ClientBase.createTmpDir(); port[sid] = PortAssignment.unique(); } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEZeroWeightTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEZeroWeightTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEZeroWeightTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLEZeroWeightTest.java Wed Sep 23 17:18:08 2015 @@ -153,9 +153,7 @@ public class FLEZeroWeightTest extends Z LOG.info("TestZeroWeightQuorum: " + getTestName()+ ", " + count); for(int i = 0; i < count; i++) { peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress(PortAssignment.unique()), - new InetSocketAddress(PortAssignment.unique()))); + new QuorumServer(i, "0.0.0.0", PortAssignment.unique(), PortAssignment.unique(), null)); tmpdir[i] = ClientBase.createTmpDir(); port[i] = PortAssignment.unique(); } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/HierarchicalQuorumTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/HierarchicalQuorumTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/HierarchicalQuorumTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/HierarchicalQuorumTest.java Wed Sep 23 17:18:08 2015 @@ -128,23 +128,13 @@ public class HierarchicalQuorumTest exte int initLimit = 3; int syncLimit = 3; HashMap<Long,QuorumServer> peers = new HashMap<Long,QuorumServer>(); - peers.put(Long.valueOf(1), new QuorumServer(1, - new InetSocketAddress("127.0.0.1", port1 + 1000), - new InetSocketAddress("127.0.0.1", leport1 + 1000))); - peers.put(Long.valueOf(2), new QuorumServer(2, - new InetSocketAddress("127.0.0.1", port2 + 1000), - new InetSocketAddress("127.0.0.1", leport2 + 1000))); - peers.put(Long.valueOf(3), new QuorumServer(3, - new InetSocketAddress("127.0.0.1", port3 + 1000), - new InetSocketAddress("127.0.0.1", leport3 + 1000))); - peers.put(Long.valueOf(4), new QuorumServer(4, - new InetSocketAddress("127.0.0.1", port4 + 1000), - new InetSocketAddress("127.0.0.1", leport4 + 1000), + peers.put(Long.valueOf(1), new QuorumServer(1, "127.0.0.1", port1 + 1000, leport1 + 1000, null)); + peers.put(Long.valueOf(2), new QuorumServer(2, "127.0.0.1", port2 + 1000, leport2 + 1000, null)); + peers.put(Long.valueOf(3), new QuorumServer(3, "127.0.0.1", port3 + 1000, leport3 + 1000, null)); + peers.put(Long.valueOf(4), new QuorumServer(4, "127.0.0.1", port4 + 1000, leport4 + 1000, withObservers ? QuorumPeer.LearnerType.OBSERVER : QuorumPeer.LearnerType.PARTICIPANT)); - peers.put(Long.valueOf(5), new QuorumServer(5, - new InetSocketAddress("127.0.0.1", port5 + 1000), - new InetSocketAddress("127.0.0.1", leport5 + 1000), + peers.put(Long.valueOf(5), new QuorumServer(5, "127.0.0.1", port5 + 1000, leport5 + 1000, withObservers ? QuorumPeer.LearnerType.OBSERVER : QuorumPeer.LearnerType.PARTICIPANT)); Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LENonTerminateTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LENonTerminateTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LENonTerminateTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LENonTerminateTest.java Wed Sep 23 17:18:08 2015 @@ -300,9 +300,8 @@ public class LENonTerminateTest extends for(int i = 0; i < count; i++) { int clientport = PortAssignment.unique(); peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress("127.0.0.1", clientport), - new InetSocketAddress("127.0.0.1", PortAssignment.unique()))); + new QuorumServer(i, "127.0.0.1", clientport, + PortAssignment.unique(), null)); tmpdir[i] = ClientBase.createTmpDir(); port[i] = clientport; } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LETest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LETest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LETest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/LETest.java Wed Sep 23 17:18:08 2015 @@ -98,9 +98,7 @@ public class LETest extends ZKTestCase { votes = new Vote[count]; for(int i = 0; i < count; i++) { peers.put(Long.valueOf(i), - new QuorumServer(i, - new InetSocketAddress("127.0.0.1", - PortAssignment.unique()))); + new QuorumServer(i, "127.0.0.1", PortAssignment.unique(), 0, null)); tmpdir[i] = ClientBase.createTmpDir(); port[i] = PortAssignment.unique(); } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumBase.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumBase.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumBase.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumBase.java Wed Sep 23 17:18:08 2015 @@ -118,25 +118,20 @@ public class QuorumBase extends ClientBa int initLimit = 3; int syncLimit = 3; HashMap<Long,QuorumServer> peers = new HashMap<Long,QuorumServer>(); - peers.put(Long.valueOf(1), new QuorumServer(1, - new InetSocketAddress("127.0.0.1", port1 + 1000), - new InetSocketAddress("127.0.0.1", portLE1 + 1000), - LearnerType.PARTICIPANT)); - peers.put(Long.valueOf(2), new QuorumServer(2, - new InetSocketAddress("127.0.0.1", port2 + 1000), - new InetSocketAddress("127.0.0.1", portLE2 + 1000), - LearnerType.PARTICIPANT)); - peers.put(Long.valueOf(3), new QuorumServer(3, - new InetSocketAddress("127.0.0.1", port3 + 1000), - new InetSocketAddress("127.0.0.1", portLE3 + 1000), - LearnerType.PARTICIPANT)); - peers.put(Long.valueOf(4), new QuorumServer(4, - new InetSocketAddress("127.0.0.1", port4 + 1000), - new InetSocketAddress("127.0.0.1", portLE4 + 1000), - LearnerType.PARTICIPANT)); - peers.put(Long.valueOf(5), new QuorumServer(5, - new InetSocketAddress("127.0.0.1", port5 + 1000), - new InetSocketAddress("127.0.0.1", portLE5 + 1000), + peers.put(Long.valueOf(1), new QuorumServer(1, "127.0.0.1", port1 + 1000, + portLE1 + 1000, + LearnerType.PARTICIPANT)); + peers.put(Long.valueOf(2), new QuorumServer(2, "127.0.0.1", port2 + 1000, + portLE2 + 1000, + LearnerType.PARTICIPANT)); + peers.put(Long.valueOf(3), new QuorumServer(3, "127.0.0.1", port3 + 1000, + portLE3 + 1000, + LearnerType.PARTICIPANT)); + peers.put(Long.valueOf(4), new QuorumServer(4, "127.0.0.1", port4 + 1000, + portLE4 + 1000, + LearnerType.PARTICIPANT)); + peers.put(Long.valueOf(5), new QuorumServer(5, "127.0.0.1", port5 + 1000, + portLE5 + 1000, LearnerType.PARTICIPANT)); if (withObservers) { @@ -232,25 +227,20 @@ public class QuorumBase extends ClientBa if(peers == null){ peers = new HashMap<Long,QuorumServer>(); - peers.put(Long.valueOf(1), new QuorumServer(1, - new InetSocketAddress("127.0.0.1", port1 + 1000), - new InetSocketAddress("127.0.0.1", portLE1 + 1000), - LearnerType.PARTICIPANT)); - peers.put(Long.valueOf(2), new QuorumServer(2, - new InetSocketAddress("127.0.0.1", port2 + 1000), - new InetSocketAddress("127.0.0.1", portLE2 + 1000), - LearnerType.PARTICIPANT)); - peers.put(Long.valueOf(3), new QuorumServer(3, - new InetSocketAddress("127.0.0.1", port3 + 1000), - new InetSocketAddress("127.0.0.1", portLE3 + 1000), - LearnerType.PARTICIPANT)); - peers.put(Long.valueOf(4), new QuorumServer(4, - new InetSocketAddress("127.0.0.1", port4 + 1000), - new InetSocketAddress("127.0.0.1", portLE4 + 1000), - LearnerType.PARTICIPANT)); - peers.put(Long.valueOf(5), new QuorumServer(5, - new InetSocketAddress("127.0.0.1", port5 + 1000), - new InetSocketAddress("127.0.0.1", portLE5 + 1000), + peers.put(Long.valueOf(1), new QuorumServer(1, "127.0.0.1", port1 + 1000, + portLE1 + 1000, + LearnerType.PARTICIPANT)); + peers.put(Long.valueOf(2), new QuorumServer(2, "127.0.0.1", port2 + 1000, + portLE2 + 1000, + LearnerType.PARTICIPANT)); + peers.put(Long.valueOf(3), new QuorumServer(3, "127.0.0.1", port3 + 1000, + portLE3 + 1000, + LearnerType.PARTICIPANT)); + peers.put(Long.valueOf(4), new QuorumServer(4, "127.0.0.1", port4 + 1000, + portLE4 + 1000, + LearnerType.PARTICIPANT)); + peers.put(Long.valueOf(5), new QuorumServer(5, "127.0.0.1", port5 + 1000, + portLE5 + 1000, LearnerType.PARTICIPANT)); } Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumUtil.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumUtil.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumUtil.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/QuorumUtil.java Wed Sep 23 17:18:08 2015 @@ -99,9 +99,10 @@ public class QuorumUtil { ps.clientPort = PortAssignment.unique(); peers.put(i, ps); - peersView.put(Long.valueOf(i), new QuorumServer(i, new InetSocketAddress( - "127.0.0.1", ps.clientPort + 1000), new InetSocketAddress("127.0.0.1", - PortAssignment.unique() + 1000), LearnerType.PARTICIPANT)); + peersView.put(Long.valueOf(i), + new QuorumServer(i, "127.0.0.1", ps.clientPort + 1000, + PortAssignment.unique() + 1000, + LearnerType.PARTICIPANT)); hostPort += "127.0.0.1:" + ps.clientPort + ((i == ALL) ? "" : ","); } for (int i = 1; i <= ALL; ++i) { Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/TruncateTest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/TruncateTest.java?rev=1704903&r1=1704902&r2=1704903&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/TruncateTest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/TruncateTest.java Wed Sep 23 17:18:08 2015 @@ -201,9 +201,9 @@ public class TruncateTest extends ZKTest // Start up two of the quorum and add 10 txns HashMap<Long,QuorumServer> peers = new HashMap<Long,QuorumServer>(); - peers.put(Long.valueOf(1), new QuorumServer(1, new InetSocketAddress("127.0.0.1", port1 + 1000))); - peers.put(Long.valueOf(2), new QuorumServer(2, new InetSocketAddress("127.0.0.1", port2 + 1000))); - peers.put(Long.valueOf(3), new QuorumServer(3, new InetSocketAddress("127.0.0.1", port3 + 1000))); + peers.put(Long.valueOf(1), new QuorumServer(1, "127.0.0.1", port1 + 1000, 0, null)); + peers.put(Long.valueOf(2), new QuorumServer(2, "127.0.0.1", port2 + 1000, 0, null)); + peers.put(Long.valueOf(3), new QuorumServer(3, "127.0.0.1", port3 + 1000, 0, null)); QuorumPeer s2 = new QuorumPeer(peers, dataDir2, dataDir2, port2, 0, 2, tickTime, initLimit, syncLimit); s2.start();