public class oadd.org.apache.zookeeper.server.quorum.Leader extends java.lang.Object
{
private static final org.slf4j.Logger LOG;
private static final boolean nodelay;
private static final java.lang.String MAX_CONCURRENT_SNAPSHOTS;
private static final int maxConcurrentSnapshots;
private static final java.lang.String MAX_CONCURRENT_SNAPSHOT_TIMEOUT;
private static final long maxConcurrentSnapshotTimeout;
private final oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler learnerSnapshotThrottler;
final oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk;
final oadd.org.apache.zookeeper.server.quorum.QuorumPeer self;
protected boolean quorumFormed;
volatile oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor;
private final java.util.HashSet learners;
private final oadd.org.apache.zookeeper.server.quorum.BufferStats proposalStats;
private final java.util.HashSet forwardingFollowers;
private final java.util.HashSet observingLearners;
private final java.util.HashMap pendingSyncs;
final java.util.concurrent.atomic.AtomicLong followerCounter;
private final java.net.ServerSocket ss;
static final int DIFF;
static final int TRUNC;
static final int SNAP;
static final int OBSERVERINFO;
static final int NEWLEADER;
static final int FOLLOWERINFO;
static final int UPTODATE;
public static final int LEADERINFO;
public static final int ACKEPOCH;
static final int REQUEST;
public static final int PROPOSAL;
static final int ACK;
static final int COMMIT;
static final int PING;
static final int REVALIDATE;
static final int SYNC;
static final int INFORM;
static final int COMMITANDACTIVATE;
static final int INFORMANDACTIVATE;
final java.util.concurrent.ConcurrentMap outstandingProposals;
private final java.util.concurrent.ConcurrentLinkedQueue toBeApplied;
protected final oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal;
oadd.org.apache.zookeeper.server.quorum.StateSummary leaderStateSummary;
long epoch;
boolean waitingForNewEpoch;
boolean allowedToCommit;
boolean isShutdown;
long lastCommitted;
long lastProposed;
protected final java.util.Set connectingFollowers;
protected final java.util.Set electingFollowers;
protected boolean electionFinished;
public oadd.org.apache.zookeeper.server.quorum.BufferStats getProposalStats()
{
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.BufferStats v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.BufferStats proposalStats>;
return v;
}
public oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler createLearnerSnapshotThrottler(int, long)
{
oadd.org.apache.zookeeper.server.quorum.Leader v;
int v;
long v;
oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: int;
v := @parameter: long;
v = new oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler: void <init>(int,long)>(v, v);
return v;
}
public java.util.List getLearners()
{
java.lang.Throwable v;
java.util.HashSet v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.ArrayList v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet learners>;
entermonitor v;
label:
v = new java.util.ArrayList;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet learners>;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public java.util.List getForwardingFollowers()
{
java.lang.Throwable v;
java.util.HashSet v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.ArrayList v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
entermonitor v;
label:
v = new java.util.ArrayList;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
private void addForwardingFollower(oadd.org.apache.zookeeper.server.quorum.LearnerHandler)
{
java.lang.Throwable v;
java.util.HashSet v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.LearnerHandler v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.LearnerHandler;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.util.List getObservingLearners()
{
java.lang.Throwable v;
java.util.HashSet v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.ArrayList v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet observingLearners>;
entermonitor v;
label:
v = new java.util.ArrayList;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet observingLearners>;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
private void addObserverLearnerHandler(oadd.org.apache.zookeeper.server.quorum.LearnerHandler)
{
java.lang.Throwable v;
java.util.HashSet v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.LearnerHandler v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.LearnerHandler;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet observingLearners>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet observingLearners>;
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public synchronized int getNumPendingSyncs()
{
int v;
java.util.HashMap v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashMap pendingSyncs>;
v = virtualinvoke v.<java.util.HashMap: int size()>();
return v;
}
void addLearnerHandler(oadd.org.apache.zookeeper.server.quorum.LearnerHandler)
{
java.lang.Throwable v;
java.util.HashSet v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.LearnerHandler v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.LearnerHandler;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet learners>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet learners>;
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
void removeLearnerHandler(oadd.org.apache.zookeeper.server.quorum.LearnerHandler)
{
java.lang.Throwable v, v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.LearnerHandler v;
java.util.HashSet v, v, v, v, v, v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.LearnerHandler;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
virtualinvoke v.<java.util.HashSet: boolean remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet learners>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet learners>;
virtualinvoke v.<java.util.HashSet: boolean remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet observingLearners>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet observingLearners>;
virtualinvoke v.<java.util.HashSet: boolean remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
boolean isLearnerSynced(oadd.org.apache.zookeeper.server.quorum.LearnerHandler)
{
java.lang.Throwable v;
java.util.HashSet v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.LearnerHandler v;
boolean v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.LearnerHandler;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
v = virtualinvoke v.<java.util.HashSet: boolean contains(java.lang.Object)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public boolean isQuorumSynced(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)
{
java.lang.Throwable v;
long v, v, v, v;
java.util.HashSet v, v, v;
java.lang.Long v, v, v, v;
java.util.Map v, v;
boolean v, v, v, v, v;
java.util.Iterator v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v;
oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
java.lang.Object v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
v = virtualinvoke v.<java.util.HashSet: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: boolean synced()>();
if v == 0 goto label;
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: long getSid()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: long getSid()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: boolean containsQuorum(java.util.Set)>(v);
return v;
catch java.lang.Throwable from label to label with label;
}
void <init>(oadd.org.apache.zookeeper.server.quorum.QuorumPeer, oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer) throws java.io.IOException
{
java.net.ServerSocket v, v, v, v;
oadd.org.apache.zookeeper.common.QuorumX509Util v, v;
oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler v;
boolean v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.BufferStats v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.concurrent.ConcurrentHashMap v;
java.net.InetSocketAddress v, v, v, v, v;
java.util.concurrent.ConcurrentLinkedQueue v;
oadd.org.apache.zookeeper.server.quorum.Leader$Proposal v;
oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer v;
java.util.HashMap v;
long v;
java.net.BindException v;
java.util.HashSet v, v, v, v, v;
int v, v, v, v;
java.lang.String v, v;
org.slf4j.Logger v, v;
oadd.org.apache.zookeeper.server.quorum.UnifiedServerSocket v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.concurrent.atomic.AtomicLong v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean quorumFormed> = 0;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor> = null;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet learners> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet observingLearners> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashMap pendingSyncs> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(-1L);
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.atomic.AtomicLong followerCounter> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals> = v;
v = new java.util.concurrent.ConcurrentLinkedQueue;
specialinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentLinkedQueue toBeApplied> = v;
v = new oadd.org.apache.zookeeper.server.quorum.Leader$Proposal;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal> = v;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: long epoch> = -1L;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean waitingForNewEpoch> = 1;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean allowedToCommit> = 1;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastCommitted> = -1L;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set connectingFollowers> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set electingFollowers> = v;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean electionFinished> = 0;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self> = v;
v = new oadd.org.apache.zookeeper.server.quorum.BufferStats;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.BufferStats: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.BufferStats proposalStats> = v;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean shouldUsePortUnification()>();
if v != 0 goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean isSslQuorum()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean shouldUsePortUnification()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean getQuorumListenOnAllIPs()>();
if v == 0 goto label;
v = new oadd.org.apache.zookeeper.server.quorum.UnifiedServerSocket;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.common.QuorumX509Util getX509Util()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getQuorumAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.UnifiedServerSocket: void <init>(oadd.org.apache.zookeeper.common.X509Util,boolean,int)>(v, v, v);
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.net.ServerSocket ss> = v;
goto label;
label:
v = new oadd.org.apache.zookeeper.server.quorum.UnifiedServerSocket;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.common.QuorumX509Util getX509Util()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.UnifiedServerSocket: void <init>(oadd.org.apache.zookeeper.common.X509Util,boolean)>(v, v);
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.net.ServerSocket ss> = v;
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean getQuorumListenOnAllIPs()>();
if v == 0 goto label;
v = new java.net.ServerSocket;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getQuorumAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
specialinvoke v.<java.net.ServerSocket: void <init>(int)>(v);
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.net.ServerSocket ss> = v;
goto label;
label:
v = new java.net.ServerSocket;
specialinvoke v.<java.net.ServerSocket: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.net.ServerSocket ss> = v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.net.ServerSocket ss>;
virtualinvoke v.<java.net.ServerSocket: void setReuseAddress(boolean)>(1);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean getQuorumListenOnAllIPs()>();
if v != 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.net.ServerSocket ss>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getQuorumAddress()>();
virtualinvoke v.<java.net.ServerSocket: void bind(java.net.SocketAddress)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean getQuorumListenOnAllIPs()>();
if v == 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getQuorumAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Couldn\'t bind to port \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getQuorumAddress()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.InetSocketAddress)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Couldn\'t bind to \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
label:
throw v;
label:
v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk> = v;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: int maxConcurrentSnapshots>;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: long maxConcurrentSnapshotTimeout>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler createLearnerSnapshotThrottler(int,long)>(v, v);
v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler learnerSnapshotThrottler> = v;
return;
catch java.net.BindException from label to label with label;
}
void lead() throws java.io.IOException, java.lang.InterruptedException
{
oadd.org.apache.zookeeper.server.quorum.LeaderBean v;
byte v, v, v, v, v, v;
java.lang.Long v, v, v, v, v;
java.util.Map v;
oadd.org.apache.zookeeper.server.quorum.Leader$Proposal v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.IOException v;
java.util.concurrent.atomic.AtomicInteger v, v;
oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker v;
oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor v, v;
oadd.org.apache.zookeeper.server.quorum.LocalPeerBean v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v, v, v;
java.util.HashSet v;
int v, v;
org.slf4j.Logger v, v, v;
java.lang.Object v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Exception v;
oadd.org.apache.zookeeper.server.quorum.StateSummary v, v;
java.lang.Throwable v, v, v;
oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.admin.AdminServer v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.List v, v, v;
java.util.Iterator v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.InterruptedException v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = staticinvoke <oadd.org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long end_fle> = v;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long end_fle>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long start_fle>;
v = v - v;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setElectionTimeTaken(long)>(v);
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("LEADING - LEADER ELECTION TOOK - {} {}", v, "MS");
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long start_fle> = 0L;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long end_fle> = 0L;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = new oadd.org.apache.zookeeper.server.quorum.LeaderBean;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderBean: void <init>(oadd.org.apache.zookeeper.server.quorum.Leader,oadd.org.apache.zookeeper.server.ZooKeeperServer)>(v, v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LocalPeerBean jmxLocalPeerBean>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void registerJMX(oadd.org.apache.zookeeper.server.quorum.LeaderBean,oadd.org.apache.zookeeper.server.quorum.LocalPeerBean)>(v, v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicInteger tick>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: void set(int)>(0);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void loadData()>();
v = new oadd.org.apache.zookeeper.server.quorum.StateSummary;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getCurrentEpoch()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getLastProcessedZxid()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.StateSummary: void <init>(long,long)>(v, v);
v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.StateSummary leaderStateSummary> = v;
v = new oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor: void <init>(oadd.org.apache.zookeeper.server.quorum.Leader)>(v);
v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor> = v;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor: void start()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getAcceptedEpoch()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: long getEpochToPropose(long,long)>(v, v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = staticinvoke <oadd.org.apache.zookeeper.server.util.ZxidUtils: long makeZxid(long,long)>(v, 0L);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void setZxid(long)>(v);
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastProposed> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = new oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: void <init>(int,long,byte[],java.util.List)>(10, v, null, null);
v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet> = v;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: long getZxid()>();
v = v & 4294967295L;
v = v cmp 0L;
if v == 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: long getZxid()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("NEWLEADER proposal has Zxid of \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp 0L;
if v != 0 goto label;
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v != 0 goto label;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.lang.String toString()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier configFromString(java.lang.String)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: void setVersion(long)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setLastSeenQuorumVerifier(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,boolean)>(v, 1);
label:
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: void addQuorumVerifier(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v <= 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: void addQuorumVerifier(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.StateSummary leaderStateSummary>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void waitForEpochAck(long,oadd.org.apache.zookeeper.server.quorum.StateSummary)>(v, v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentEpoch(long)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void waitForNewLeaderAck(long,long)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.lang.String ackSetsToString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Waiting for a quorum of followers, only synced with sids: [ \u ]");
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>(v);
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.List getLearners()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: long getSid()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: long getSid()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
goto label;
label:
v = 1;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.util.ArrayList qvAcksetPairs>;
v = virtualinvoke v.<java.util.ArrayList: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker$QuorumVerifierAcksetPair: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: boolean containsQuorum(java.util.Set)>(v);
if v != 0 goto label;
v = 0;
label:
if v == 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Enough followers present. Perhaps the initTicks need to be increased.");
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void unregisterJMX(oadd.org.apache.zookeeper.server.quorum.Leader)>(v);
return;
label:
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void startZkServer()>();
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("zookeeper.testingonly.initialZxid");
if v == null goto label;
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
v = v & -4294967296L;
v = v | v;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void setZxid(long)>(v);
label:
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("zookeeper.leaderServes", "yes");
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("no");
if v != 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setZooKeeperServer(oadd.org.apache.zookeeper.server.ZooKeeperServer)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.admin.AdminServer adminServer>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
interfaceinvoke v.<oadd.org.apache.zookeeper.server.admin.AdminServer: void setZooKeeperServer(oadd.org.apache.zookeeper.server.ZooKeeperServer)>(v);
v = 1;
label:
entermonitor v;
label:
v = staticinvoke <oadd.org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = v;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: int tickTime>;
v = v / 2;
v = v + v;
label:
v = v cmp v;
if v >= 0 goto label;
v = v - v;
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
v = staticinvoke <oadd.org.apache.zookeeper.common.Time: long currentElapsedTime()>();
goto label;
label:
if v != 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicInteger tick>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
label:
v = new oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker: void <init>()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker: void addQuorumVerifier(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
if v == null goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v <= 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker: void addQuorumVerifier(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker: boolean addAck(java.lang.Long)>(v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.List getLearners()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: boolean synced()>();
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: long getSid()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker: boolean addAck(java.lang.Long)>(v);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean isRunning()>();
if v != 0 goto label;
v = "Unexpected internal error";
exitmonitor v;
label:
goto label;
label:
if v != 0 goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker: boolean hasAllQuorums()>();
if v != 0 goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker: java.lang.String ackSetsToString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Not sufficient followers synced, only synced with sids: [ \u ]");
exitmonitor v;
label:
goto label;
label:
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.List getLearners()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: void ping()>();
goto label;
label:
if v == null goto label;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void unregisterJMX(oadd.org.apache.zookeeper.server.quorum.Leader)>(v);
goto label;
label:
v := @caughtexception;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void unregisterJMX(oadd.org.apache.zookeeper.server.quorum.Leader)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.InterruptedException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
void shutdown(java.lang.String)
{
java.lang.Throwable v;
oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer v, v;
oadd.org.apache.zookeeper.server.admin.AdminServer v;
java.net.ServerSocket v;
java.util.HashSet v, v;
oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor v, v;
java.lang.String v, v;
boolean v, v;
org.slf4j.Logger v, v, v;
java.util.Iterator v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v, v;
java.io.IOException v;
java.lang.Exception v;
java.lang.Object v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: java.lang.String;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Shutting down");
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean isShutdown>;
if v == 0 goto label;
return;
label:
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = new java.lang.Exception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("shutdown Leader! reason: \u0001");
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Throwable)>("Shutdown called", v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor>;
if v == null goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor: void halt()>();
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setZooKeeperServer(oadd.org.apache.zookeeper.server.ZooKeeperServer)>(null);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.admin.AdminServer adminServer>;
interfaceinvoke v.<oadd.org.apache.zookeeper.server.admin.AdminServer: void setZooKeeperServer(oadd.org.apache.zookeeper.server.ZooKeeperServer)>(null);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.net.ServerSocket ss>;
virtualinvoke v.<java.net.ServerSocket: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Ignoring unexpected exception during close", v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void closeAllConnections()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
if v == null goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void shutdown()>();
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet learners>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet learners>;
v = virtualinvoke v.<java.util.HashSet: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.Iterator: void remove()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: void shutdown()>();
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean isShutdown> = 1;
return;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private long getDesignatedLeader(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal, long)
{
java.lang.Long v, v, v, v, v;
java.util.Map v, v;
boolean v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v;
java.net.InetSocketAddress v, v;
oadd.org.apache.zookeeper.server.quorum.Leader$Proposal v;
long v, v, v, v, v, v, v;
java.util.ArrayList v, v, v;
java.util.concurrent.ConcurrentMap v, v;
java.util.HashSet v, v, v;
int v, v, v;
java.util.Iterator v, v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal;
v := @parameter: long;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.util.ArrayList qvAcksetPairs>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.util.ArrayList qvAcksetPairs>;
v = virtualinvoke v.<java.util.ArrayList: int size()>();
v = v - 1;
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object get(int)>(v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker$QuorumVerifierAcksetPair: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker$QuorumVerifierAcksetPair: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress addr>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getQuorumAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
return v;
label:
v = new java.util.HashSet;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker$QuorumVerifierAcksetPair: java.util.HashSet getAckset()>();
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashSet: boolean remove(java.lang.Object)>(v);
v = virtualinvoke v.<java.util.HashSet: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v + 1L;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
label:
if v == null goto label;
v = virtualinvoke v.<java.util.HashSet: boolean isEmpty()>();
if v != 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.util.ArrayList qvAcksetPairs>;
v = virtualinvoke v.<java.util.ArrayList: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker$QuorumVerifierAcksetPair: java.util.HashSet getAckset()>();
virtualinvoke v.<java.util.HashSet: boolean retainAll(java.util.Collection)>(v);
v = virtualinvoke v.<java.util.HashSet: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<java.util.HashSet: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<java.util.HashSet: int size()>();
if v != 1 goto label;
return v;
label:
v = v + 1L;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
goto label;
label:
return v;
}
public synchronized boolean tryToCommit(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal, long, java.net.SocketAddress)
{
java.net.SocketAddress v;
byte v, v;
java.lang.Long v, v, v, v, v, v;
boolean v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
oadd.org.apache.zookeeper.server.Request v, v, v, v;
java.util.concurrent.ConcurrentLinkedQueue v;
oadd.org.apache.zookeeper.server.quorum.Leader$Proposal v;
oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer v, v;
java.util.HashMap v, v;
long v, v, v, v, v, v, v, v, v, v, v, v;
java.util.ArrayList v, v;
java.util.concurrent.ConcurrentMap v, v, v;
int v, v, v, v;
java.lang.String v, v, v, v, v;
org.slf4j.Logger v, v, v, v;
java.util.Iterator v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v;
oadd.org.apache.zookeeper.txn.TxnHeader v;
oadd.org.apache.zookeeper.server.quorum.CommitProcessor v;
java.lang.Object v, v, v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal;
v := @parameter: long;
v := @parameter: java.net.SocketAddress;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = v - 1L;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
return 0;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: boolean hasAllQuorums()>();
if v != 0 goto label;
return 0;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastCommitted>;
v = v + 1L;
v = v cmp v;
if v == 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.net.SocketAddress)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Commiting zxid 0x\u from \u not first!");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastCommitted>;
v = v + 1L;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("First is \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.Request request>;
if v == null goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentLinkedQueue toBeApplied>;
virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: boolean add(java.lang.Object)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.Request request>;
if v != null goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.zookeeper.server.quorum.Leader$Proposal)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Going to commmit null: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
goto label;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.Request request>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.Request: oadd.org.apache.zookeeper.txn.TxnHeader getHdr()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.txn.TxnHeader: int getType()>();
if v != 16 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: int size()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Committing a reconfiguration! \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
v = specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: long getDesignatedLeader(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal,long)>(v, v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.util.ArrayList qvAcksetPairs>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.util.ArrayList qvAcksetPairs>;
v = virtualinvoke v.<java.util.ArrayList: int size()>();
v = v - 1;
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object get(int)>(v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.SyncedLearnerTracker$QuorumVerifierAcksetPair: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean processReconfig(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,java.lang.Long,java.lang.Long,boolean)>(v, v, v, 1);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = v cmp v;
if v == 0 goto label;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean allowedToCommit> = 0;
label:
v = virtualinvoke v.<java.lang.Long: long longValue()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void commitAndActivate(long,long)>(v, v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void informAndActivate(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal,long)>(v, v);
goto label;
label:
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void commit(long)>(v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void inform(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: oadd.org.apache.zookeeper.server.quorum.CommitProcessor commitProcessor>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.Request request>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.CommitProcessor: void commit(oadd.org.apache.zookeeper.server.Request)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashMap pendingSyncs>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = virtualinvoke v.<java.util.HashMap: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashMap pendingSyncs>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = virtualinvoke v.<java.util.HashMap: java.lang.Object remove(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void sendSync(oadd.org.apache.zookeeper.server.quorum.LearnerSyncRequest)>(v);
goto label;
label:
return 1;
}
public synchronized void processAck(long, long, java.net.SocketAddress)
{
java.net.SocketAddress v;
byte v, v;
java.lang.Long v, v, v;
boolean v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.Collection v;
oadd.org.apache.zookeeper.server.Request v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v;
long v, v, v, v, v, v, v;
java.util.concurrent.ConcurrentMap v, v, v, v;
int v, v;
java.lang.String v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
oadd.org.apache.zookeeper.txn.TxnHeader v;
java.lang.Object v, v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: long;
v := @parameter: long;
v := @parameter: java.net.SocketAddress;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean allowedToCommit>;
if v != 0 goto label;
return;
label:
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Ack zxid: 0x{}", v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: long getZxid()>();
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("outstanding proposal: 0x{}", v);
goto label;
label:
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("outstanding proposals all");
label:
v = v & 4294967295L;
v = v cmp 0L;
if v != 0 goto label;
return;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: int size()>();
if v != 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("outstanding is 0");
label:
return;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastCommitted>;
v = v cmp v;
if v < 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastCommitted>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("proposal has already been committed, pzxid: 0x{} zxid: 0x{}", v, v);
label:
return;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Trying to commit future proposal: zxid 0x{} from {}", v, v);
return;
label:
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: boolean addAck(java.lang.Long)>(v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean tryToCommit(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal,long,java.net.SocketAddress)>(v, v, v);
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.Request request>;
if v == null goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.Request request>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.Request: oadd.org.apache.zookeeper.txn.TxnHeader getHdr()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.txn.TxnHeader: int getType()>();
if v != 16 goto label;
v = v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean allowedToCommit>;
if v == 0 goto label;
if v == 0 goto label;
v = v + 1L;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean tryToCommit(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal,long,java.net.SocketAddress)>(v, v, null);
goto label;
label:
return;
}
void sendPacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)
{
java.lang.Throwable v;
java.util.Iterator v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.HashSet v, v;
java.lang.Object v;
boolean v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashSet forwardingFollowers>;
v = virtualinvoke v.<java.util.HashSet: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: void queuePacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
void sendObserverPacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)
{
java.util.List v;
java.util.Iterator v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.lang.Object v;
boolean v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.List getObservingLearners()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: void queuePacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
goto label;
label:
return;
}
public void commit(long)
{
java.lang.Throwable v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
long v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: long;
entermonitor v;
label:
v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastCommitted> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = new oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: void <init>(int,long,byte[],java.util.List)>(4, v, null, null);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void sendPacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
public void commitAndActivate(long, long)
{
java.lang.Throwable v;
byte[] v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
long v, v;
java.nio.ByteBuffer v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: long;
v := @parameter: long;
entermonitor v;
label:
v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastCommitted> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = newarray (byte)[8];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putLong(long)>(v);
v = new oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: void <init>(int,long,byte[],java.util.List)>(9, v, v, null);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void sendPacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
public void inform(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal)
{
oadd.org.apache.zookeeper.server.quorum.Leader$Proposal v;
byte[] v;
oadd.org.apache.zookeeper.server.Request v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
long v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal;
v = new oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.Request request>;
v = v.<oadd.org.apache.zookeeper.server.Request: long zxid>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: byte[] getData()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: void <init>(int,long,byte[],java.util.List)>(8, v, v, null);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void sendObserverPacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
return;
}
public void informAndActivate(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal, long)
{
oadd.org.apache.zookeeper.server.quorum.Leader$Proposal v;
byte[] v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
long v, v;
java.nio.ByteBuffer v;
oadd.org.apache.zookeeper.server.Request v;
int v, v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal;
v := @parameter: long;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: byte[] getData()>();
v = lengthof v;
v = v + 8;
v = newarray (byte)[v];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putLong(long)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte[])>(v);
v = new oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.Request request>;
v = v.<oadd.org.apache.zookeeper.server.Request: long zxid>;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: void <init>(int,long,byte[],java.util.List)>(19, v, v, null);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void sendObserverPacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
return;
}
public long getEpoch()
{
long v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastProposed>;
v = staticinvoke <oadd.org.apache.zookeeper.server.util.ZxidUtils: long getEpochFromZxid(long)>(v);
return v;
}
public oadd.org.apache.zookeeper.server.quorum.Leader$Proposal propose(oadd.org.apache.zookeeper.server.Request) throws oadd.org.apache.zookeeper.server.quorum.Leader$XidRolloverException
{
byte[] v;
byte v, v;
java.lang.Long v;
boolean v;
oadd.org.apache.zookeeper.server.quorum.BufferStats v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v, v, v, v;
oadd.org.apache.zookeeper.server.Request v;
java.lang.Throwable v;
oadd.org.apache.zookeeper.server.quorum.Leader$Proposal v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v, v;
long v, v, v, v, v, v, v;
java.util.concurrent.ConcurrentMap v;
int v, v;
oadd.org.apache.zookeeper.server.quorum.Leader$XidRolloverException v;
java.lang.String v;
org.slf4j.Logger v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v;
oadd.org.apache.zookeeper.txn.TxnHeader v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.Request;
v = v.<oadd.org.apache.zookeeper.server.Request: long zxid>;
v = v & 4294967295L;
v = v cmp 4294967295L;
if v != 0 goto label;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("zxid lower 32 bits have rolled over, forcing re-election, and therefore new epoch start");
v = new oadd.org.apache.zookeeper.server.quorum.Leader$XidRolloverException;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$XidRolloverException: void <init>(java.lang.String)>("zxid lower 32 bits have rolled over, forcing re-election, and therefore new epoch start");
throw v;
label:
v = staticinvoke <oadd.org.apache.zookeeper.server.util.SerializeUtils: byte[] serializeRequest(oadd.org.apache.zookeeper.server.Request)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.BufferStats proposalStats>;
v = lengthof v;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.BufferStats: void setLastBufferSize(int)>(v);
v = new oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
v = v.<oadd.org.apache.zookeeper.server.Request: long zxid>;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: void <init>(int,long,byte[],java.util.List)>(2, v, v, null);
v = new oadd.org.apache.zookeeper.server.quorum.Leader$Proposal;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet> = v;
v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.Request request> = v;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: void addQuorumVerifier(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.Request: oadd.org.apache.zookeeper.txn.TxnHeader getHdr()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.txn.TxnHeader: int getType()>();
if v != 16 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.Request: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier qv>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setLastSeenQuorumVerifier(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,boolean)>(v, 1);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v >= 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: void addQuorumVerifier(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v);
label:
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.zookeeper.server.Request)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Proposing:: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: long getZxid()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastProposed> = v;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastProposed>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void sendPacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler getLearnerSnapshotThrottler()
{
oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LearnerSnapshotThrottler learnerSnapshotThrottler>;
return v;
}
public synchronized void processSync(oadd.org.apache.zookeeper.server.quorum.LearnerSyncRequest)
{
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.HashMap v, v;
long v, v;
java.util.ArrayList v;
java.util.concurrent.ConcurrentMap v;
java.lang.Long v, v;
oadd.org.apache.zookeeper.server.quorum.LearnerSyncRequest v;
java.lang.Object v;
boolean v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.LearnerSyncRequest;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean isEmpty()>();
if v == 0 goto label;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void sendSync(oadd.org.apache.zookeeper.server.quorum.LearnerSyncRequest)>(v);
goto label;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashMap pendingSyncs>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastProposed>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.HashMap pendingSyncs>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastProposed>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
public void sendSync(oadd.org.apache.zookeeper.server.quorum.LearnerSyncRequest)
{
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.LearnerHandler v;
oadd.org.apache.zookeeper.server.quorum.LearnerSyncRequest v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.LearnerSyncRequest;
v = new oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: void <init>(int,long,byte[],java.util.List)>(7, 0L, null, null);
v = v.<oadd.org.apache.zookeeper.server.quorum.LearnerSyncRequest: oadd.org.apache.zookeeper.server.quorum.LearnerHandler fh>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: void queuePacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
return;
}
public synchronized long startForwarding(oadd.org.apache.zookeeper.server.quorum.LearnerHandler, long)
{
oadd.org.apache.zookeeper.server.quorum.LearnerHandler v;
byte v, v, v;
boolean v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v, v, v, v;
java.util.Set v;
java.util.concurrent.ConcurrentLinkedQueue v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v, v, v, v, v;
long v, v, v, v, v, v;
java.util.ArrayList v;
java.util.concurrent.ConcurrentMap v, v;
java.util.Iterator v, v;
java.lang.Object v, v, v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.LearnerHandler;
v := @parameter: long;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastProposed>;
v = v cmp v;
if v <= 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentLinkedQueue toBeApplied>;
v = virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: long getZxid()>();
v = v cmp v;
if v <= 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: void queuePacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
v = new oadd.org.apache.zookeeper.server.quorum.QuorumPacket;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: long getZxid()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: void <init>(int,long,byte[],java.util.List)>(4, v, null, null);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: void queuePacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = <oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType PARTICIPANT>;
if v != v goto label;
v = new java.util.ArrayList;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
staticinvoke <java.util.Collections: void sort(java.util.List)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v <= 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.concurrent.ConcurrentMap outstandingProposals>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: void queuePacket(oadd.org.apache.zookeeper.server.quorum.QuorumPacket)>(v);
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LearnerHandler: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = <oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType PARTICIPANT>;
if v != v goto label;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void addForwardingFollower(oadd.org.apache.zookeeper.server.quorum.LearnerHandler)>(v);
goto label;
label:
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: void addObserverLearnerHandler(oadd.org.apache.zookeeper.server.quorum.LearnerHandler)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastProposed>;
return v;
}
public long getEpochToPropose(long, long) throws java.lang.InterruptedException, java.io.IOException
{
byte v, v;
java.lang.Long v, v;
boolean v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.Set v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
java.lang.Throwable v;
long v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v;
java.lang.InterruptedException v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: long;
v := @parameter: long;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set connectingFollowers>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean waitingForNewEpoch>;
if v != 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long epoch>;
exitmonitor v;
label:
return v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long epoch>;
v = v cmp v;
if v < 0 goto label;
v = v + 1L;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: long epoch> = v;
label:
v = specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean isParticipant(long)>(v);
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set connectingFollowers>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set connectingFollowers>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set connectingFollowers>;
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: boolean containsQuorum(java.util.Set)>(v);
if v == 0 goto label;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean waitingForNewEpoch> = 0;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long epoch>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setAcceptedEpoch(long)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set connectingFollowers>;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
goto label;
label:
v = staticinvoke <oadd.org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = v;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: int getInitLimit()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: int getTickTime()>();
v = v * v;
v = v + v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean waitingForNewEpoch>;
if v == 0 goto label;
v = v cmp v;
if v >= 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set connectingFollowers>;
v = v - v;
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
v = staticinvoke <oadd.org.apache.zookeeper.common.Time: long currentElapsedTime()>();
goto label;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean waitingForNewEpoch>;
if v == 0 goto label;
v = new java.lang.InterruptedException;
specialinvoke v.<java.lang.InterruptedException: void <init>(java.lang.String)>("Timeout while waiting for epoch from quorum");
throw v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: long epoch>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void waitForEpochAck(long, oadd.org.apache.zookeeper.server.quorum.StateSummary) throws java.io.IOException, java.lang.InterruptedException
{
byte v, v;
java.lang.Long v, v;
boolean v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.Set v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
oadd.org.apache.zookeeper.server.quorum.StateSummary v, v, v, v;
java.lang.Throwable v;
long v, v, v, v, v, v, v, v, v;
int v, v, v;
java.lang.String v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v;
java.io.IOException v;
java.lang.InterruptedException v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: long;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.StateSummary;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set electingFollowers>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean electionFinished>;
if v == 0 goto label;
exitmonitor v;
label:
return;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.StateSummary: long getCurrentEpoch()>();
v = v cmp -1L;
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.StateSummary leaderStateSummary>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.StateSummary: boolean isMoreRecentThan(oadd.org.apache.zookeeper.server.quorum.StateSummary)>(v);
if v == 0 goto label;
v = new java.io.IOException;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.StateSummary leaderStateSummary>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.StateSummary: long getCurrentEpoch()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.StateSummary leaderStateSummary>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.StateSummary: long getLastZxid()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,long)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Follower is ahead of the leader, leader summary: \u (current epoch), \u (last zxid)");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean isParticipant(long)>(v);
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set electingFollowers>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set electingFollowers>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set electingFollowers>;
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: boolean containsQuorum(java.util.Set)>(v);
if v == 0 goto label;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean electionFinished> = 1;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set electingFollowers>;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
goto label;
label:
v = staticinvoke <oadd.org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = v;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: int getInitLimit()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: int getTickTime()>();
v = v * v;
v = v + v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean electionFinished>;
if v != 0 goto label;
v = v cmp v;
if v >= 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: java.util.Set electingFollowers>;
v = v - v;
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
v = staticinvoke <oadd.org.apache.zookeeper.common.Time: long currentElapsedTime()>();
goto label;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean electionFinished>;
if v != 0 goto label;
v = new java.lang.InterruptedException;
specialinvoke v.<java.lang.InterruptedException: void <init>(java.lang.String)>("Timeout while waiting for epoch to be acked by quorum");
throw v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private java.lang.String getSidSetString(java.util.Set)
{
java.util.Iterator v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.Set v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v;
boolean v, v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: java.util.Set;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(",");
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private synchronized void startZkServer()
{
byte v;
java.lang.Long v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
oadd.org.apache.zookeeper.server.ZKDatabase v;
oadd.org.apache.zookeeper.server.quorum.Leader$Proposal v, v;
oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
org.slf4j.Logger v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
v.<oadd.org.apache.zookeeper.server.quorum.Leader: long lastCommitted> = v;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.lang.String ackSetsToString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Have quorum of supporters, sids: [ \u ]; starting up and setting last processed zxid: 0x{}");
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>(v, v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
v = specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: long getDesignatedLeader(oadd.org.apache.zookeeper.server.quorum.Leader$Proposal,long)>(v, v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean processReconfig(oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,java.lang.Long,java.lang.Long,boolean)>(v, v, v, 1);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = v cmp v;
if v == 0 goto label;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean allowedToCommit> = 0;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void startup()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader: long getEpoch()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void updateElectionVote(long)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: oadd.org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getZxid()>();
virtualinvoke v.<oadd.org.apache.zookeeper.server.ZKDatabase: void setlastProcessedZxid(long)>(v);
return;
}
public void waitForNewLeaderAck(long, long) throws java.lang.InterruptedException
{
byte v, v;
java.lang.Long v;
boolean v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.lang.Throwable v;
oadd.org.apache.zookeeper.server.quorum.Leader$Proposal v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPacket v;
long v, v, v, v, v, v, v;
java.util.ArrayList v, v, v;
int v, v, v;
java.lang.String v, v, v;
org.slf4j.Logger v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v;
java.lang.InterruptedException v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: long;
v := @parameter: long;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.util.ArrayList qvAcksetPairs>;
entermonitor v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean quorumFormed>;
if v == 0 goto label;
exitmonitor v;
label:
return;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: oadd.org.apache.zookeeper.server.quorum.QuorumPacket packet>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPacket: long getZxid()>();
v = v cmp v;
if v == 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("NEWLEADER ACK from sid: \u is from a different epoch - current 0x\u receieved 0x\u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
exitmonitor v;
label:
return;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: boolean addAck(java.lang.Long)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: boolean hasAllQuorums()>();
if v == 0 goto label;
v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean quorumFormed> = 1;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.util.ArrayList qvAcksetPairs>;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
goto label;
label:
v = staticinvoke <oadd.org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = v;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: int getInitLimit()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: int getTickTime()>();
v = v * v;
v = v + v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean quorumFormed>;
if v != 0 goto label;
v = v cmp v;
if v >= 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.Leader$Proposal newLeaderProposal>;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader$Proposal: java.util.ArrayList qvAcksetPairs>;
v = v - v;
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
v = staticinvoke <oadd.org.apache.zookeeper.common.Time: long currentElapsedTime()>();
goto label;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: boolean quorumFormed>;
if v != 0 goto label;
v = new java.lang.InterruptedException;
specialinvoke v.<java.lang.InterruptedException: void <init>(java.lang.String)>("Timeout while waiting for NEWLEADER to be acked by quorum");
throw v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.String getPacketType(int)
{
int v;
v := @parameter: int;
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
default: goto label;
};
label:
return "DIFF";
label:
return "TRUNC";
label:
return "SNAP";
label:
return "OBSERVERINFO";
label:
return "NEWLEADER";
label:
return "FOLLOWERINFO";
label:
return "UPTODATE";
label:
return "LEADERINFO";
label:
return "ACKEPOCH";
label:
return "REQUEST";
label:
return "PROPOSAL";
label:
return "ACK";
label:
return "COMMIT";
label:
return "COMMITANDACTIVATE";
label:
return "PING";
label:
return "REVALIDATE";
label:
return "SYNC";
label:
return "INFORM";
label:
return "INFORMANDACTIVATE";
label:
return "UNKNOWN";
}
private boolean isRunning()
{
oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v, v, v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean isRunning()>();
if v == 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: boolean isRunning()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean isParticipant(long)
{
java.lang.Long v;
oadd.org.apache.zookeeper.server.quorum.Leader v;
java.util.Map v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v;
oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
long v;
boolean v;
v := @this: oadd.org.apache.zookeeper.server.quorum.Leader;
v := @parameter: long;
v = v.<oadd.org.apache.zookeeper.server.quorum.Leader: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<oadd.org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
return v;
}
static void <clinit>()
{
long v, v;
java.lang.Integer v;
java.lang.Long v;
int v, v;
java.lang.String v, v, v, v;
boolean v, v;
org.slf4j.Logger v, v, v, v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Loadd/org/apache/zookeeper/server/quorum/Leader;");
<oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("leader.nodelay", "true");
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("true");
<oadd.org.apache.zookeeper.server.quorum.Leader: boolean nodelay> = v;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: boolean nodelay>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (boolean)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("TCP NoDelay set to: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer getInteger(java.lang.String,int)>("zookeeper.leader.maxConcurrentSnapshots", 10);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
<oadd.org.apache.zookeeper.server.quorum.Leader: int maxConcurrentSnapshots> = v;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: int maxConcurrentSnapshots>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("zookeeper.leader.maxConcurrentSnapshots = \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long getLong(java.lang.String,long)>("zookeeper.leader.maxConcurrentSnapshotTimeout", 5L);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
<oadd.org.apache.zookeeper.server.quorum.Leader: long maxConcurrentSnapshotTimeout> = v;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: org.slf4j.Logger LOG>;
v = <oadd.org.apache.zookeeper.server.quorum.Leader: long maxConcurrentSnapshotTimeout>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("zookeeper.leader.maxConcurrentSnapshotTimeout = \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
return;
}
}