public int getInitLimit() { return peer.getInitLimit(); }
public int getInitLimit() { return peer.getInitLimit(); }
public int getInitLimit() { return peer.getInitLimit(); }
@Override public void dumpConf(PrintWriter pwriter) { super.dumpConf(pwriter); pwriter.print("initLimit="); pwriter.println(self.getInitLimit()); pwriter.print("syncLimit="); pwriter.println(self.getSyncLimit()); pwriter.print("electionAlg="); pwriter.println(self.getElectionType()); pwriter.print("electionPort="); pwriter.println(self.getElectionAddress().getPort()); pwriter.print("quorumPort="); pwriter.println(self.getQuorumAddress().getPort()); pwriter.print("peerType="); pwriter.println(self.getLearnerType().ordinal()); }
@Override public void dumpConf(PrintWriter pwriter) { super.dumpConf(pwriter); pwriter.print("initLimit="); pwriter.println(self.getInitLimit()); pwriter.print("syncLimit="); pwriter.println(self.getSyncLimit()); pwriter.print("electionAlg="); pwriter.println(self.getElectionType()); pwriter.print("electionPort="); pwriter.println(self.getElectionAddress().getPort()); pwriter.print("quorumPort="); pwriter.println(self.getQuorumAddress().getPort()); pwriter.print("peerType="); pwriter.println(self.getLearnerType().ordinal()); pwriter.println("membership: "); pwriter.print(new String(self.getQuorumVerifier().toString().getBytes())); }
@Override public void dumpConf(PrintWriter pwriter) { super.dumpConf(pwriter); pwriter.print("initLimit="); pwriter.println(self.getInitLimit()); pwriter.print("syncLimit="); pwriter.println(self.getSyncLimit()); pwriter.print("electionAlg="); pwriter.println(self.getElectionType()); pwriter.print("electionPort="); pwriter.println(self.quorumPeers.get(self.getId()).electionAddr .getPort()); pwriter.print("quorumPort="); pwriter.println(self.quorumPeers.get(self.getId()).addr.getPort()); pwriter.print("peerType="); pwriter.println(self.getLearnerType().ordinal()); }
long start = Time.currentElapsedTime(); long cur = start; long end = start + self.getInitLimit() * self.getTickTime(); while (!quorumFormed && cur < end) { newLeaderProposal.qvAcksetPairs.wait(end - cur);
long end = start + self.getInitLimit()*self.getTickTime(); while(waitingForNewEpoch && cur < end && !quitWaitForEpoch) { connectingFollowers.wait(end - cur);
long start = Time.currentElapsedTime(); long cur = start; long end = start + self.getInitLimit() * self.getTickTime(); while (!quorumFormed && cur < end) { newLeaderProposal.ackSet.wait(end - cur);
long start = Time.currentElapsedTime(); long cur = start; long end = start + self.getInitLimit()*self.getTickTime(); while(!electionFinished && cur < end) { electingFollowers.wait(end - cur);
long start = Time.currentElapsedTime(); long cur = start; long end = start + self.getInitLimit()*self.getTickTime(); while(waitingForNewEpoch && cur < end) { connectingFollowers.wait(end - cur);
long start = Time.currentElapsedTime(); long cur = start; long end = start + self.getInitLimit()*self.getTickTime(); while(!electionFinished && cur < end) { electingFollowers.wait(end - cur);
public static void shutdown(QuorumPeer qp) { if (qp == null) { return; } try { LOG.info("Shutting down quorum peer " + qp.getName()); qp.shutdown(); Election e = qp.getElectionAlg(); if (e != null) { LOG.info("Shutting down leader election " + qp.getName()); e.shutdown(); } else { LOG.info("No election available to shutdown " + qp.getName()); } LOG.info("Waiting for " + qp.getName() + " to exit thread"); long readTimeout = qp.getTickTime() * qp.getInitLimit(); long connectTimeout = qp.getTickTime() * qp.getSyncLimit(); long maxTimeout = Math.max(readTimeout, connectTimeout); maxTimeout = Math.max(maxTimeout, ClientBase.CONNECTION_TIMEOUT); qp.join(maxTimeout * 2); if (qp.isAlive()) { Assert.fail("QP failed to shutdown in " + (maxTimeout * 2) + " seconds: " + qp.getName()); } } catch (InterruptedException e) { LOG.debug("QP interrupted: " + qp.getName(), e); } }
public void converseWithLeader(InputArchive ia, OutputArchive oa, Leader l) throws IOException, InterruptedException { /* we test a normal run. everything should work out well. */ LearnerInfo li = new LearnerInfo(1, 0x10000, 0); byte liBytes[] = new byte[20]; ByteBufferOutputStream.record2ByteBuffer(li, ByteBuffer.wrap(liBytes)); QuorumPacket qp = new QuorumPacket(Leader.FOLLOWERINFO, 0, liBytes, null); oa.writeRecord(qp, null); readPacketSkippingPing(ia, qp); Assert.assertEquals(Leader.LEADERINFO, qp.getType()); Assert.assertEquals(ZxidUtils.makeZxid(1, 0), qp.getZxid()); Assert.assertEquals(ByteBuffer.wrap(qp.getData()).getInt(), 0x10000); Thread.sleep(l.self.getInitLimit()*l.self.getTickTime() + 5000); // The leader didn't get a quorum of acks - make sure that leader's current epoch is not advanced Assert.assertEquals(0, l.self.getCurrentEpoch()); } });
/** * @throws Exception If failed. */ @Test public void testSegmentation3() throws Exception { sesTimeout = 5000; Ignite node0 = startGrid(0); final CountDownLatch l = new CountDownLatch(1); node0.events().localListen(new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { l.countDown(); return false; } }, EventType.EVT_NODE_SEGMENTED); List<TestingZooKeeperServer> srvs = zkCluster.getServers(); assertEquals(3, srvs.size()); try { srvs.get(0).stop(); srvs.get(1).stop(); QuorumPeer qp = srvs.get(2).getQuorumPeer(); // Zookeeper's socket timeout [tickTime * initLimit] + 5 additional seconds for other logic assertTrue(l.await(qp.getTickTime() * qp.getInitLimit() + 5000, TimeUnit.MILLISECONDS)); } finally { zkCluster.close(); zkCluster = ZookeeperDiscoverySpiTestUtil.createTestingCluster(ZK_SRVS); zkCluster.start(); } }
f1.join(leader.self.getInitLimit()*leader.self.getTickTime() + 5000); f2.join(leader.self.getInitLimit()*leader.self.getTickTime() + 5000);
f1.join(leader.self.getInitLimit()*leader.self.getTickTime() + 5000); f2.join(leader.self.getInitLimit()*leader.self.getTickTime() + 5000);
public int getInitLimit() { return peer.getInitLimit(); }
@Override public void dumpConf(PrintWriter pwriter) { super.dumpConf(pwriter); pwriter.print("initLimit="); pwriter.println(self.getInitLimit()); pwriter.print("syncLimit="); pwriter.println(self.getSyncLimit()); pwriter.print("electionAlg="); pwriter.println(self.getElectionType()); pwriter.print("electionPort="); pwriter.println(self.quorumPeers.get(self.getId()).electionAddr .getPort()); pwriter.print("quorumPort="); pwriter.println(self.quorumPeers.get(self.getId()).addr.getPort()); pwriter.print("peerType="); pwriter.println(self.getLearnerType().ordinal()); } }