protected Follower makeFollower(FileTxnSnapLog logFactory) throws IOException { return new Follower(this, new FollowerZooKeeperServer(logFactory, this, this.zkDb)); }
@Override protected void setupRequestProcessors() { RequestProcessor finalProcessor = new FinalRequestProcessor(this); commitProcessor = new CommitProcessor(finalProcessor, Long.toString(getServerId()), true, getZooKeeperServerListener()); commitProcessor.start(); firstProcessor = new FollowerRequestProcessor(this, commitProcessor); ((FollowerRequestProcessor) firstProcessor).start(); syncProcessor = new SyncRequestProcessor(this, new SendAckRequestProcessor((Learner)getFollower())); syncProcessor.start(); }
/** * The zxid of the last operation seen * @return zxid */ public long getZxid() { try { synchronized (fzk) { return fzk.getZxid(); } } catch (NullPointerException e) { LOG.warn("error getting zxid", e); } return -1; }
public FollowerRequestProcessor(FollowerZooKeeperServer zks, RequestProcessor nextProcessor) { super("FollowerRequestProcessor:" + zks.getServerId(), zks .getZooKeeperServerListener()); this.zks = zks; this.nextProcessor = nextProcessor; }
fzk.logRequest(hdr, txn); break; case Leader.COMMIT: fzk.commit(qp.getZxid()); break; case Leader.UPTODATE: break; case Leader.SYNC: fzk.sync(); break; default:
fzk.logRequest(hdr, txn); break; case Leader.COMMIT: fzk.commit(qp.getZxid()); break; case Leader.UPTODATE: fzk.takeSnapshot(); self.cnxnFactory.setZooKeeperServer(fzk); break; break; case Leader.SYNC: fzk.sync(); break;
FollowerZooKeeperServer fzk = (FollowerZooKeeperServer)zk; for(PacketInFlight p: packetsNotCommitted) { fzk.logRequest(p.hdr, p.rec); fzk.commit(zxid);
fzks = new FollowerZooKeeperServer(logfactory, quorumPeer, database); fzks.startup(); fzks.setServerCnxnFactory(serverCnxnFactory); quorumPeer.follower = new MyFollower(quorumPeer, fzks); LOG.info("Follower created"); fzks.shutdown();
@Override public Learner getLearner() { return getFollower(); }
@Override public void registerLearnerHandlerBean(final LearnerHandler learnerHandler, Socket socket) { LearnerHandlerBean bean = new LearnerHandlerBean(learnerHandler, socket); if (zks.registerJMX(bean)) { connectionBeans.put(learnerHandler, bean); } }
@Override protected void setupRequestProcessors() { RequestProcessor finalProcessor = new FinalRequestProcessor(this); commitProcessor = new CommitProcessor(finalProcessor, Long.toString(getServerId()), true); commitProcessor.start(); firstProcessor = new FollowerRequestProcessor(this, commitProcessor); ((FollowerRequestProcessor) firstProcessor).start(); syncProcessor = new SyncRequestProcessor(this, new SendAckRequestProcessor((Learner)getFollower())); syncProcessor.start(); }
tmpDir.delete(); tmpDir.mkdir(); File logDir = f.fzk.getTxnLogFactory().getDataDir().getParentFile(); File snapDir = f.fzk.getTxnLogFactory().getSnapDir().getParentFile(); Assert.assertEquals(firstZxid, f.fzk.getLastProcessedZxid()); Assert.assertEquals("data1", new String(f.fzk.getZKDatabase().getData("/foo", stat, watcher))); Assert.assertEquals("data2", new String(f.fzk.getZKDatabase().getData("/foo", stat, null)));
public FollowerRequestProcessor(FollowerZooKeeperServer zks, RequestProcessor nextProcessor) { super("FollowerRequestProcessor:" + zks.getServerId()); this.zks = zks; this.nextProcessor = nextProcessor; }
@Override public ZKDatabase getZKDatabase() { return zks.getZKDatabase(); }
fzk.logRequest(hdr, txn); fzk.commit(qp.getZxid()); if (om != null) { om.proposalCommitted(qp.getZxid()); self.processReconfig(qv, suggestedLeaderId, zxid, true); fzk.commit(zxid); fzk.sync(); break; default:
FollowerZooKeeperServer fzk = (FollowerZooKeeperServer)zk; for(PacketInFlight p: packetsNotCommitted) { fzk.logRequest(p.hdr, p.rec); fzk.commit(zxid);
@Override public Learner getLearner() { return getFollower(); } }
public FollowerRequestProcessor(FollowerZooKeeperServer zks, RequestProcessor nextProcessor) { super("FollowerRequestProcessor:" + zks.getServerId(), zks .getZooKeeperServerListener()); this.zks = zks; this.nextProcessor = nextProcessor; }
self.start_fle = 0; self.end_fle = 0; fzk.registerJMX(new FollowerBean(this, zk), self.jmxLocalPeerBean); try { QuorumServer leaderServer = findLeader();
@Override protected Follower makeFollower(FileTxnSnapLog logFactory) throws IOException { return new Follower(this, new FollowerZooKeeperServer(logFactory, this, this.getZkDb())) { @Override protected void processPacket(QuorumPacket qp) throws Exception { if (stopPing && qp.getType() == Leader.PING) { LOG.info("Follower skipped ping"); throw new SocketException("Socket time out while sending the ping response"); } else { super.processPacket(qp); } } }; }