public class org.apache.zookeeper.server.quorum.QuorumPeer extends org.apache.zookeeper.server.ZooKeeperThread implements org.apache.zookeeper.server.quorum.QuorumStats$Provider
{
private static final org.slf4j.Logger LOG;
public static final java.lang.String CONFIG_KEY_KERBEROS_CANONICALIZE_HOST_NAMES;
public static final java.lang.String CONFIG_DEFAULT_KERBEROS_CANONICALIZE_HOST_NAMES;
private org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean;
org.apache.zookeeper.server.quorum.LocalPeerBean jmxLocalPeerBean;
private java.util.Map jmxRemotePeerBean;
org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean;
private java.util.concurrent.atomic.AtomicReference qcmRef;
org.apache.zookeeper.server.quorum.auth.QuorumAuthServer authServer;
org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner authLearner;
private org.apache.zookeeper.server.ZKDatabase zkDb;
private org.apache.zookeeper.server.util.JvmPauseMonitor jvmPauseMonitor;
private final java.util.concurrent.atomic.AtomicBoolean suspended;
private int observerMasterPort;
public static final java.lang.String CONFIG_KEY_MULTI_ADDRESS_ENABLED;
public static final java.lang.String CONFIG_DEFAULT_MULTI_ADDRESS_ENABLED;
private boolean multiAddressEnabled;
public static final java.lang.String CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_TIMEOUT_MS;
private int multiAddressReachabilityCheckTimeoutMs;
public static final java.lang.String CONFIG_KEY_MULTI_ADDRESS_REACHABILITY_CHECK_ENABLED;
private boolean multiAddressReachabilityCheckEnabled;
static final long OBSERVER_ID;
public long start_fle;
public long end_fle;
public static final java.lang.String FLE_TIME_UNIT;
private long unavailableStartTime;
private org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType learnerType;
private java.lang.String configFilename;
private org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier;
private org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier;
final java.lang.Object QV_LOCK;
private long myid;
private boolean sslQuorum;
private boolean shouldUsePortUnification;
private final org.apache.zookeeper.common.QuorumX509Util x509Util;
private volatile org.apache.zookeeper.server.quorum.Vote currentVote;
private volatile boolean running;
private java.lang.String initialConfig;
protected int tickTime;
protected boolean localSessionsEnabled;
protected boolean localSessionsUpgradingEnabled;
protected int minSessionTimeout;
protected int maxSessionTimeout;
protected int clientPortListenBacklog;
protected volatile int initLimit;
protected volatile int syncLimit;
protected volatile int connectToLearnerMasterLimit;
protected boolean syncEnabled;
protected java.util.concurrent.atomic.AtomicInteger tick;
protected boolean quorumListenOnAllIPs;
private long electionTimeTaken;
protected boolean quorumSaslEnableAuth;
protected boolean quorumServerSaslAuthRequired;
protected boolean quorumLearnerSaslAuthRequired;
protected java.lang.String quorumServicePrincipal;
protected java.lang.String quorumLearnerLoginContext;
protected java.lang.String quorumServerLoginContext;
private static final int QUORUM_CNXN_THREADS_SIZE_DEFAULT_VALUE;
protected int quorumCnxnThreadsSize;
public static final java.lang.String QUORUM_CNXN_TIMEOUT_MS;
private static int quorumCnxnTimeoutMs;
private org.apache.zookeeper.server.quorum.QuorumPeer$ServerState state;
private java.util.concurrent.atomic.AtomicReference zabState;
private java.util.concurrent.atomic.AtomicReference syncMode;
private java.util.concurrent.atomic.AtomicReference leaderAddress;
private java.util.concurrent.atomic.AtomicLong leaderId;
private boolean reconfigFlag;
java.net.DatagramSocket udpSocket;
private final java.util.concurrent.atomic.AtomicReference myAddrs;
private int electionType;
org.apache.zookeeper.server.quorum.Election electionAlg;
org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory;
org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory;
private org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory;
private final org.apache.zookeeper.server.quorum.QuorumStats quorumStats;
org.apache.zookeeper.server.admin.AdminServer adminServer;
private final boolean reconfigEnabled;
org.apache.zookeeper.server.quorum.QuorumPeer$ResponderThread responder;
public org.apache.zookeeper.server.quorum.Follower follower;
public org.apache.zookeeper.server.quorum.Leader leader;
public org.apache.zookeeper.server.quorum.Observer observer;
boolean shuttingDownLE;
public static final java.lang.String SYNC_ENABLED;
private long acceptedEpoch;
private long currentEpoch;
public static final java.lang.String CURRENT_EPOCH_FILENAME;
public static final java.lang.String ACCEPTED_EPOCH_FILENAME;
private java.util.ArrayList observerMasters;
private int nextObserverMaster;
static final boolean $assertionsDisabled;
public int getObserverMasterPort()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int observerMasterPort>;
return v;
}
public void setObserverMasterPort(int)
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int observerMasterPort> = v;
return;
}
public boolean isMultiAddressEnabled()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean multiAddressEnabled>;
return v;
}
public void setMultiAddressEnabled(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.Boolean v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean multiAddressEnabled> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("multiAddress.enabled set to {}", v);
return;
}
public int getMultiAddressReachabilityCheckTimeoutMs()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int multiAddressReachabilityCheckTimeoutMs>;
return v;
}
public void setMultiAddressReachabilityCheckTimeoutMs(int)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
int v;
java.lang.Integer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int multiAddressReachabilityCheckTimeoutMs> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("multiAddress.reachabilityCheckTimeoutMs set to {}", v);
return;
}
public boolean isMultiAddressReachabilityCheckEnabled()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean multiAddressReachabilityCheckEnabled>;
return v;
}
public void setMultiAddressReachabilityCheckEnabled(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.Boolean v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean multiAddressReachabilityCheckEnabled> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("multiAddress.reachabilityCheckEnabled set to {}", v);
return;
}
public org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType learnerType>;
return v;
}
public void setLearnerType(org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType learnerType> = v;
return;
}
protected synchronized void setConfigFileName(java.lang.String)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.String;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String configFilename> = v;
return;
}
public int getQuorumSize()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.Map v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map getVotingView()>();
v = interfaceinvoke v.<java.util.Map: int size()>();
return v;
}
public void setJvmPauseMonitor(org.apache.zookeeper.server.util.JvmPauseMonitor)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.util.JvmPauseMonitor v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.util.JvmPauseMonitor;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.util.JvmPauseMonitor jvmPauseMonitor> = v;
return;
}
public long getMyId()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long myid>;
return v;
}
void setId(long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long myid> = v;
return;
}
public boolean isSslQuorum()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean sslQuorum>;
return v;
}
public boolean shouldUsePortUnification()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean shouldUsePortUnification>;
return v;
}
org.apache.zookeeper.common.QuorumX509Util getX509Util()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.common.QuorumX509Util v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.common.QuorumX509Util x509Util>;
return v;
}
public synchronized org.apache.zookeeper.server.quorum.Vote getCurrentVote()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Vote v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Vote currentVote>;
return v;
}
public synchronized void setCurrentVote(org.apache.zookeeper.server.quorum.Vote)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Vote v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.Vote;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Vote currentVote> = v;
return;
}
public synchronized void setPeerState(org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v, v;
java.lang.String v;
org.apache.zookeeper.server.quorum.QuorumPeer$ZabState v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState state> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LOOKING>;
if v != v goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLeaderAddressAndId(org.apache.zookeeper.server.quorum.MultipleAddresses,long)>(null, -1L);
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ZabState: org.apache.zookeeper.server.quorum.QuorumPeer$ZabState ELECTION>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setZabState(org.apache.zookeeper.server.quorum.QuorumPeer$ZabState)>(v);
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String getDetailedPeerState()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Peer state changed: {}", v);
label:
return;
}
public void setZabState(org.apache.zookeeper.server.quorum.QuorumPeer$ZabState)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v, v, v, v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.zookeeper.metrics.Summary v, v;
byte v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v, v;
org.apache.zookeeper.server.ServerMetrics v, v;
java.lang.String v;
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.QuorumPeer$ZabState v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeer$ZabState;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ZabState: org.apache.zookeeper.server.quorum.QuorumPeer$ZabState BROADCAST>;
if v != v goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long unavailableStartTime>;
v = v cmp 0L;
if v == 0 goto label;
v = staticinvoke <org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long unavailableStartTime>;
v = v - v;
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.Summary UNAVAILABLE_TIME>;
interfaceinvoke v.<org.apache.zookeeper.metrics.Summary: void add(long)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState getPeerState()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LEADING>;
if v != v goto label;
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.Summary LEADER_UNAVAILABLE_TIME>;
interfaceinvoke v.<org.apache.zookeeper.metrics.Summary: void add(long)>(v);
label:
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long unavailableStartTime> = 0L;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference zabState>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String getDetailedPeerState()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Peer state changed: {}", v);
return;
}
public void setSyncMode(org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference syncMode>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String getDetailedPeerState()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Peer state changed: {}", v);
return;
}
public org.apache.zookeeper.server.quorum.QuorumPeer$ZabState getZabState()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference zabState>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
return v;
}
public org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode getSyncMode()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference syncMode>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
return v;
}
public void setLeaderAddressAndId(org.apache.zookeeper.server.quorum.MultipleAddresses, long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
java.util.concurrent.atomic.AtomicReference v, v;
java.util.concurrent.atomic.AtomicLong v;
java.util.List v;
org.apache.zookeeper.server.quorum.MultipleAddresses v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.MultipleAddresses;
v := @parameter: long;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference leaderAddress>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.util.List getAllHostStrings()>();
v = staticinvoke <java.lang.String: java.lang.String join(java.lang.CharSequence,java.lang.Iterable)>("|", v);
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference leaderAddress>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(null);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicLong leaderId>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: void set(long)>(v);
return;
}
public java.lang.String getLeaderAddress()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference leaderAddress>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
return v;
}
public long getLeaderId()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.concurrent.atomic.AtomicLong v;
long v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicLong leaderId>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
return v;
}
public java.lang.String getDetailedPeerState()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v;
org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode v, v;
java.lang.StringBuilder v, v, v;
org.apache.zookeeper.server.quorum.QuorumPeer$ZabState v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = new java.lang.StringBuilder;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState getPeerState()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ZabState getZabState()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ZabState: org.apache.zookeeper.server.quorum.QuorumPeer$ZabState ELECTION>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$ZabState: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" - ");
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$ZabState: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode getSyncMode()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode: org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode NONE>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" - ");
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public synchronized void reconfigFlagSet()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean reconfigFlag> = 1;
return;
}
public synchronized void reconfigFlagClear()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean reconfigFlag> = 0;
return;
}
public synchronized boolean isReconfigStateChange()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean reconfigFlag>;
return v;
}
public synchronized org.apache.zookeeper.server.quorum.QuorumPeer$ServerState getPeerState()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState state>;
return v;
}
public void recreateSocketAddresses(long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v;
long v, v;
java.net.InetSocketAddress v;
org.apache.zookeeper.server.quorum.MultipleAddresses v, v;
byte v;
java.lang.Long v, v;
java.util.Map v, v;
java.lang.Object v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getAllMembers()>();
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);
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: void recreateSocketAddresses()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = v cmp v;
if v != 0 goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses addr>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses electionAddr>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setAddrs(org.apache.zookeeper.server.quorum.MultipleAddresses,org.apache.zookeeper.server.quorum.MultipleAddresses,java.net.InetSocketAddress)>(v, v, v);
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getAllMembers()>();
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);
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: void recreateSocketAddresses()>();
label:
return;
}
private org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple getAddrs()
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.concurrent.atomic.AtomicReference v, v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference myAddrs>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
return v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK>;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference myAddrs>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
label:
if v != null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK>;
virtualinvoke v.<java.lang.Object: void wait()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference myAddrs>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
goto label;
label:
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.zookeeper.server.quorum.MultipleAddresses getQuorumAddress()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.MultipleAddresses v;
org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple getAddrs()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple: org.apache.zookeeper.server.quorum.MultipleAddresses quorumAddr>;
return v;
}
public org.apache.zookeeper.server.quorum.MultipleAddresses getElectionAddress()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.MultipleAddresses v;
org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple getAddrs()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple: org.apache.zookeeper.server.quorum.MultipleAddresses electionAddr>;
return v;
}
public java.net.InetSocketAddress getClientAddress()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.Object v;
java.net.InetSocketAddress v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference myAddrs>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v != null goto label;
v = null;
goto label;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple: java.net.InetSocketAddress clientAddr>;
label:
return v;
}
private void setAddrs(org.apache.zookeeper.server.quorum.MultipleAddresses, org.apache.zookeeper.server.quorum.MultipleAddresses, java.net.InetSocketAddress)
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple v;
java.net.InetSocketAddress v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.zookeeper.server.quorum.MultipleAddresses v, v;
java.lang.Object v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.MultipleAddresses;
v := @parameter: org.apache.zookeeper.server.quorum.MultipleAddresses;
v := @parameter: java.net.InetSocketAddress;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK>;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference myAddrs>;
v = new org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$AddressTuple: void <init>(org.apache.zookeeper.server.quorum.MultipleAddresses,org.apache.zookeeper.server.quorum.MultipleAddresses,java.net.InetSocketAddress)>(v, v, v);
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK>;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
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 static org.apache.zookeeper.server.quorum.QuorumPeer testingQuorumPeer() throws javax.security.sasl.SaslException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>()>();
return v;
}
public void <init>() throws javax.security.sasl.SaslException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumStats v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.HashMap v;
long v;
java.util.concurrent.atomic.AtomicReference v, v, v, v, v;
java.util.ArrayList v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v;
java.time.Duration v;
int v, v, v;
org.apache.zookeeper.common.QuorumX509Util v;
boolean v;
org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode v;
org.apache.zookeeper.server.admin.AdminServer v;
java.util.concurrent.atomic.AtomicLong v;
java.lang.Object v;
org.apache.zookeeper.server.quorum.QuorumPeer$ZabState v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
specialinvoke v.<org.apache.zookeeper.server.ZooKeeperThread: void <init>(java.lang.String)>("QuorumPeer");
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference qcmRef> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicBoolean suspended> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean multiAddressEnabled> = 1;
v = <org.apache.zookeeper.server.quorum.MultipleAddresses: java.time.Duration DEFAULT_TIMEOUT>;
v = virtualinvoke v.<java.time.Duration: long toMillis()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int multiAddressReachabilityCheckTimeoutMs> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean multiAddressReachabilityCheckEnabled> = 1;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType PARTICIPANT>;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType learnerType> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String configFilename> = null;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier> = null;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean running> = 1;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean localSessionsEnabled> = 0;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean localSessionsUpgradingEnabled> = 1;
v = (int) -1;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int minSessionTimeout> = v;
v = (int) -1;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int maxSessionTimeout> = v;
v = (int) -1;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int clientPortListenBacklog> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean syncEnabled> = 1;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicInteger tick> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumListenOnAllIPs> = 0;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long electionTimeTaken> = -1L;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int quorumCnxnThreadsSize> = 20;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LOOKING>;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState state> = v;
v = new java.util.concurrent.atomic.AtomicReference;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ZabState: org.apache.zookeeper.server.quorum.QuorumPeer$ZabState ELECTION>;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference zabState> = v;
v = new java.util.concurrent.atomic.AtomicReference;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode: org.apache.zookeeper.server.quorum.QuorumPeer$SyncMode NONE>;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference syncMode> = v;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>("");
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference leaderAddress> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(-1L);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicLong leaderId> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean reconfigFlag> = 0;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference myAddrs> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory> = null;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean shuttingDownLE> = 0;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch> = -1L;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch> = -1L;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.ArrayList observerMasters> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int nextObserverMaster> = 0;
v = new org.apache.zookeeper.server.quorum.QuorumStats;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumStats: void <init>(org.apache.zookeeper.server.quorum.QuorumStats$Provider)>(v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumStats quorumStats> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean> = v;
v = staticinvoke <org.apache.zookeeper.server.admin.AdminServerFactory: org.apache.zookeeper.server.admin.AdminServer createAdminServer()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.admin.AdminServer adminServer> = v;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.common.QuorumX509Util createX509Util()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.common.QuorumX509Util x509Util> = v;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void initialize()>();
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean isReconfigEnabled()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean reconfigEnabled> = v;
return;
}
org.apache.zookeeper.common.QuorumX509Util createX509Util()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.common.QuorumX509Util v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = new org.apache.zookeeper.common.QuorumX509Util;
specialinvoke v.<org.apache.zookeeper.common.QuorumX509Util: void <init>()>();
return v;
}
public void <init>(java.util.Map, java.io.File, java.io.File, int, long, int, int, int, int, org.apache.zookeeper.server.ServerCnxnFactory) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumMaj v;
long v;
org.apache.zookeeper.server.ServerCnxnFactory v;
java.io.File v, v;
java.util.Map v;
int v, v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.util.Map;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v := @parameter: int;
v := @parameter: long;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.zookeeper.server.ServerCnxnFactory;
v = new org.apache.zookeeper.server.quorum.flexible.QuorumMaj;
specialinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumMaj: void <init>(java.util.Map)>(v);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,long,int,int,int,int,boolean,org.apache.zookeeper.server.ServerCnxnFactory,org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v, v, v, v, v, v, v, v, v, 0, v, v);
return;
}
public void <init>(java.util.Map, java.io.File, java.io.File, int, long, int, int, int, int, boolean, org.apache.zookeeper.server.ServerCnxnFactory, org.apache.zookeeper.server.quorum.flexible.QuorumVerifier) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ZKDatabase v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
long v;
org.apache.zookeeper.server.ServerCnxnFactory v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v, v;
java.util.Map v;
int v, v, v, v, v;
boolean v;
org.apache.zookeeper.server.admin.AdminServer v;
org.apache.zookeeper.server.quorum.flexible.QuorumMaj v;
java.io.File v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.util.Map;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v := @parameter: int;
v := @parameter: long;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: org.apache.zookeeper.server.ServerCnxnFactory;
v := @parameter: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int electionType> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long myid> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int tickTime> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int initLimit> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int syncLimit> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int connectToLearnerMasterLimit> = v;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumListenOnAllIPs> = v;
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory> = v;
v = new org.apache.zookeeper.server.ZKDatabase;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory>;
specialinvoke v.<org.apache.zookeeper.server.ZKDatabase: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb> = v;
if v != null goto label;
v = new org.apache.zookeeper.server.quorum.flexible.QuorumMaj;
specialinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumMaj: void <init>(java.util.Map)>(v);
v = v;
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier setQuorumVerifier(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,boolean)>(v, 0);
v = staticinvoke <org.apache.zookeeper.server.admin.AdminServerFactory: org.apache.zookeeper.server.admin.AdminServer createAdminServer()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.admin.AdminServer adminServer> = v;
return;
}
public void initialize() throws javax.security.sasl.SaslException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.HashSet v;
java.util.Map v;
java.lang.String v, v, v, v;
org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthLearner v;
org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer v;
boolean v, v, v, v;
java.util.Iterator v;
org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthServer v;
java.util.Collection v;
org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner v;
java.lang.Object v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isQuorumSaslAuthEnabled()>();
if v == 0 goto label;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map getView()>();
v = interfaceinvoke v.<java.util.Map: 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.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.lang.String hostname>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthServer;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isQuorumServerSaslAuthRequired()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String quorumServerLoginContext>;
specialinvoke v.<org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthServer: void <init>(boolean,java.lang.String,java.util.Set)>(v, v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.auth.QuorumAuthServer authServer> = v;
v = new org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthLearner;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isQuorumLearnerSaslAuthRequired()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String quorumServicePrincipal>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String quorumLearnerLoginContext>;
specialinvoke v.<org.apache.zookeeper.server.quorum.auth.SaslQuorumAuthLearner: void <init>(boolean,java.lang.String,java.lang.String)>(v, v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner authLearner> = v;
goto label;
label:
v = new org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer;
specialinvoke v.<org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer: void <init>()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.auth.QuorumAuthServer authServer> = v;
v = new org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner;
specialinvoke v.<org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner: void <init>()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner authLearner> = v;
label:
return;
}
org.apache.zookeeper.server.quorum.QuorumStats quorumStats()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumStats v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumStats quorumStats>;
return v;
}
public synchronized void start()
{
org.apache.zookeeper.server.admin.AdminServer$AdminServerException v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.admin.AdminServer v;
org.slf4j.Logger v;
long v, v;
java.lang.RuntimeException v;
java.lang.Long v;
java.util.Map v;
java.lang.String v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map getView()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long myid>;
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 = new java.lang.RuntimeException;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long myid>;
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[])>("My id \u not in the peer list");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void loadDataBase()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void startServerCnxnFactory()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.admin.AdminServer adminServer>;
interfaceinvoke v.<org.apache.zookeeper.server.admin.AdminServer: void start()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Problem starting AdminServer", v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void startLeaderElection()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void startJvmPauseMonitor()>();
specialinvoke v.<org.apache.zookeeper.server.ZooKeeperThread: void start()>();
return;
catch org.apache.zookeeper.server.admin.AdminServer$AdminServerException from label to label with label;
}
private void loadDataBase()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte v, v;
java.lang.Long v, v, v;
boolean v;
java.io.FileNotFoundException v, v;
org.apache.zookeeper.server.ZKDatabase v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
java.lang.String v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v;
java.io.IOException v, v, v;
java.lang.RuntimeException v;
java.io.File v, v;
org.apache.zookeeper.server.DataTree v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: long loadDataBase()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: org.apache.zookeeper.server.DataTree getDataTree()>();
v = v.<org.apache.zookeeper.server.DataTree: long lastProcessedZxid>;
v = staticinvoke <org.apache.zookeeper.server.util.ZxidUtils: long getEpochFromZxid(long)>(v);
label:
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long readLongFromFile(java.lang.String)>("currentEpoch");
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch> = v;
label:
goto label;
label:
v := @caughtexception;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch>;
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)>("{} not found! Creating with a reasonable default of {}. This should only happen when you are upgrading your installation", "currentEpoch", v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void writeLongToFile(java.lang.String,long)>("currentEpoch", v);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch>;
v = v cmp v;
if v <= 0 goto label;
v = new java.io.File;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog getTxnFactory()>();
v = virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: java.io.File getSnapDir()>();
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "currentEpoch.tmp");
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long readLongFromFile(java.lang.String)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: 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)>("{} found. Setting current epoch to {}.", v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentEpoch(long)>(v);
goto label;
label:
v = new java.io.IOException;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch>;
v = staticinvoke <org.apache.zookeeper.server.util.ZxidUtils: java.lang.String zxidToString(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("The current epoch, \u, is older than the last zxid, \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long readLongFromFile(java.lang.String)>("acceptedEpoch");
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch> = v;
label:
goto label;
label:
v := @caughtexception;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch>;
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)>("{} not found! Creating with a reasonable default of {}. This should only happen when you are upgrading your installation", "acceptedEpoch", v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void writeLongToFile(java.lang.String,long)>("acceptedEpoch", v);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch>;
v = v cmp v;
if v >= 0 goto label;
v = new java.io.IOException;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch>;
v = staticinvoke <org.apache.zookeeper.server.util.ZxidUtils: java.lang.String zxidToString(long)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch>;
v = staticinvoke <org.apache.zookeeper.server.util.ZxidUtils: java.lang.String zxidToString(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("The accepted epoch, \u is less than the current epoch, \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Unable to load database on disk", v);
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to run quorum server ", v);
throw v;
label:
return;
catch java.io.FileNotFoundException from label to label with label;
catch java.io.FileNotFoundException from label to label with label;
catch java.io.IOException from label to label with label;
}
public synchronized void stopLeaderElection()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$ResponderThread v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ResponderThread responder>;
v.<org.apache.zookeeper.server.quorum.QuorumPeer$ResponderThread: boolean running> = 0;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ResponderThread responder>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$ResponderThread: void interrupt()>();
return;
}
public synchronized void startLeaderElection()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Vote v;
java.io.IOException v;
long v, v, v;
java.lang.RuntimeException v;
java.lang.StackTraceElement[] v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v, v;
int v;
java.lang.String v;
org.apache.zookeeper.server.quorum.Election v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState getPeerState()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LOOKING>;
if v != v goto label;
v = new org.apache.zookeeper.server.quorum.Vote;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long myid>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getLastLoggedZxid()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getCurrentEpoch()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.Vote: void <init>(long,long,long)>(v, v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Vote currentVote> = v;
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.IOException: java.lang.StackTraceElement[] getStackTrace()>();
virtualinvoke v.<java.lang.RuntimeException: void setStackTrace(java.lang.StackTraceElement[])>(v);
throw v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int electionType>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Election createElectionAlgorithm(int)>(v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Election electionAlg> = v;
return;
catch java.io.IOException from label to label with label;
}
private void startJvmPauseMonitor()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.util.JvmPauseMonitor v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.util.JvmPauseMonitor jvmPauseMonitor>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.util.JvmPauseMonitor jvmPauseMonitor>;
virtualinvoke v.<org.apache.zookeeper.server.util.JvmPauseMonitor: void serviceStart()>();
label:
return;
}
protected static int countParticipants(java.util.Map)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v, v;
java.util.Map v;
int v;
java.lang.Object v;
boolean v;
v := @parameter: java.util.Map;
v = 0;
v = interfaceinvoke v.<java.util.Map: 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.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType type>;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType PARTICIPANT>;
if v != v goto label;
v = v + 1;
goto label;
label:
return v;
}
public void <init>(java.util.Map, java.io.File, java.io.File, int, int, long, int, int, int, int) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumMaj v;
long v;
org.apache.zookeeper.server.ServerCnxnFactory v;
java.net.InetSocketAddress v;
java.io.File v, v;
java.util.Map v;
int v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.util.Map;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v := @parameter: int;
v := @parameter: int;
v := @parameter: long;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getClientAddress(java.util.Map,long,int)>(v, v, v);
v = (int) -1;
v = staticinvoke <org.apache.zookeeper.server.ServerCnxnFactory: org.apache.zookeeper.server.ServerCnxnFactory createFactory(java.net.InetSocketAddress,int)>(v, v);
v = new org.apache.zookeeper.server.quorum.flexible.QuorumMaj;
specialinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumMaj: void <init>(java.util.Map)>(v);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,long,int,int,int,int,boolean,org.apache.zookeeper.server.ServerCnxnFactory,org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v, v, v, v, v, v, v, v, v, 0, v, v);
return;
}
public void <init>(java.util.Map, java.io.File, java.io.File, int, int, long, int, int, int, int, java.lang.String) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
org.apache.zookeeper.server.ServerCnxnFactory v;
java.util.Map v;
int v, v, v, v, v, v, v;
java.lang.String v;
java.net.InetSocketAddress v;
java.io.File v, v;
org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.util.Map;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v := @parameter: int;
v := @parameter: int;
v := @parameter: long;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getClientAddress(java.util.Map,long,int)>(v, v, v);
v = (int) -1;
v = staticinvoke <org.apache.zookeeper.server.ServerCnxnFactory: org.apache.zookeeper.server.ServerCnxnFactory createFactory(java.net.InetSocketAddress,int)>(v, v);
v = new org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj;
specialinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj: void <init>(java.util.Map,java.lang.String)>(v, v);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,long,int,int,int,int,boolean,org.apache.zookeeper.server.ServerCnxnFactory,org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v, v, v, v, v, v, v, v, v, 0, v, v);
return;
}
public void <init>(java.util.Map, java.io.File, java.io.File, int, int, long, int, int, int, int, org.apache.zookeeper.server.quorum.flexible.QuorumVerifier) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
long v;
org.apache.zookeeper.server.ServerCnxnFactory v;
java.net.InetSocketAddress v;
java.io.File v, v;
java.util.Map v;
int v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.util.Map;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v := @parameter: int;
v := @parameter: int;
v := @parameter: long;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getClientAddress(java.util.Map,long,int)>(v, v, v);
v = (int) -1;
v = staticinvoke <org.apache.zookeeper.server.ServerCnxnFactory: org.apache.zookeeper.server.ServerCnxnFactory createFactory(java.net.InetSocketAddress,int)>(v, v);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,long,int,int,int,int,boolean,org.apache.zookeeper.server.ServerCnxnFactory,org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v, v, v, v, v, v, v, v, v, 0, v, v);
return;
}
private static java.net.InetSocketAddress getClientAddress(java.util.Map, long, int) throws java.io.IOException
{
long v;
java.lang.Long v;
java.util.Map v;
int v, v, v;
java.lang.String v, v;
java.io.IOException v, v;
java.net.InetSocketAddress v, v, v, v, v;
java.lang.Object v;
v := @parameter: java.util.Map;
v := @parameter: long;
v := @parameter: int;
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);
if null != v goto label;
v = new java.io.IOException;
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[])>("No QuorumServer correspoding to myid \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
if null != v goto label;
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(int)>(v);
return v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
if v == v goto label;
v = new java.io.IOException;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(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[])>("QuorumServer port \u does not match with given port \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
return v;
}
public long getLastLoggedZxid()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ZKDatabase v, v;
long v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: boolean isInitialized()>();
if v != 0 goto label;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void loadDataBase()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: long getDataTreeLastProcessedZxid()>();
return v;
}
protected org.apache.zookeeper.server.quorum.Follower makeFollower(org.apache.zookeeper.server.persistence.FileTxnSnapLog) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Follower v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.ZKDatabase v;
org.apache.zookeeper.server.quorum.FollowerZooKeeperServer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.persistence.FileTxnSnapLog;
v = new org.apache.zookeeper.server.quorum.Follower;
v = new org.apache.zookeeper.server.quorum.FollowerZooKeeperServer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
specialinvoke v.<org.apache.zookeeper.server.quorum.FollowerZooKeeperServer: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog,org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.ZKDatabase)>(v, v, v);
specialinvoke v.<org.apache.zookeeper.server.quorum.Follower: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.quorum.FollowerZooKeeperServer)>(v, v);
return v;
}
protected org.apache.zookeeper.server.quorum.Leader makeLeader(org.apache.zookeeper.server.persistence.FileTxnSnapLog) throws java.io.IOException, org.apache.zookeeper.common.X509Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.LeaderZooKeeperServer v;
org.apache.zookeeper.server.quorum.Leader v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.ZKDatabase v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.persistence.FileTxnSnapLog;
v = new org.apache.zookeeper.server.quorum.Leader;
v = new org.apache.zookeeper.server.quorum.LeaderZooKeeperServer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
specialinvoke v.<org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog,org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.ZKDatabase)>(v, v, v);
specialinvoke v.<org.apache.zookeeper.server.quorum.Leader: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.quorum.LeaderZooKeeperServer)>(v, v);
return v;
}
protected org.apache.zookeeper.server.quorum.Observer makeObserver(org.apache.zookeeper.server.persistence.FileTxnSnapLog) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.ZKDatabase v;
org.apache.zookeeper.server.quorum.Observer v;
org.apache.zookeeper.server.quorum.ObserverZooKeeperServer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.persistence.FileTxnSnapLog;
v = new org.apache.zookeeper.server.quorum.Observer;
v = new org.apache.zookeeper.server.quorum.ObserverZooKeeperServer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
specialinvoke v.<org.apache.zookeeper.server.quorum.ObserverZooKeeperServer: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog,org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.ZKDatabase)>(v, v, v);
specialinvoke v.<org.apache.zookeeper.server.quorum.Observer: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.quorum.ObserverZooKeeperServer)>(v, v);
return v;
}
protected org.apache.zookeeper.server.quorum.Election createElectionAlgorithm(int)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.UnsupportedOperationException v, v;
org.slf4j.Logger v, v;
org.apache.zookeeper.server.quorum.FastLeaderElection v, v;
java.lang.AssertionError v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener v;
int v;
java.lang.Object v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v = null;
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Election Algorithm 1 is not supported.");
throw v;
label:
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Election Algorithm 2 is not supported.");
throw v;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumCnxManager createCnxnManager()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference qcmRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object getAndSet(java.lang.Object)>(v);
if v == null goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Clobbering already-set QuorumCnxManager (restarting leader election?)");
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void halt()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener listener>;
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: void start()>();
v = new org.apache.zookeeper.server.quorum.FastLeaderElection;
specialinvoke v.<org.apache.zookeeper.server.quorum.FastLeaderElection: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.quorum.QuorumCnxManager)>(v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.FastLeaderElection: void start()>();
v = v;
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("Null listener when initializing cnx manager");
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: boolean $assertionsDisabled>;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
return v;
}
protected org.apache.zookeeper.server.quorum.Election makeLEStrategy()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.Election v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Initializing leader election protocol...");
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Election electionAlg>;
return v;
}
protected synchronized void setLeader(org.apache.zookeeper.server.quorum.Leader)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Leader v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.Leader;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader> = v;
return;
}
protected synchronized void setFollower(org.apache.zookeeper.server.quorum.Follower)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Follower v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.Follower;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower> = v;
return;
}
protected synchronized void setObserver(org.apache.zookeeper.server.quorum.Observer)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Observer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.Observer;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Observer observer> = v;
return;
}
public synchronized org.apache.zookeeper.server.ZooKeeperServer getActiveServer()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Observer v, v;
org.apache.zookeeper.server.quorum.Follower v, v;
org.apache.zookeeper.server.quorum.LeaderZooKeeperServer v;
org.apache.zookeeper.server.quorum.Leader v, v;
org.apache.zookeeper.server.quorum.LearnerZooKeeperServer v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
return v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
v = v.<org.apache.zookeeper.server.quorum.Follower: org.apache.zookeeper.server.quorum.LearnerZooKeeperServer zk>;
return v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Observer observer>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Observer observer>;
v = v.<org.apache.zookeeper.server.quorum.Observer: org.apache.zookeeper.server.quorum.LearnerZooKeeperServer zk>;
return v;
label:
return null;
}
public void setSuspended(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(v);
return;
}
private void checkSuspended()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.InterruptedException v;
java.lang.Thread v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicBoolean suspended>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
staticinvoke <java.lang.Thread: void sleep(long)>(10L);
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
public void run()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.metrics.Counter v;
org.apache.zookeeper.server.quorum.RemotePeerBean v;
org.apache.zookeeper.server.quorum.LocalPeerBean v, v, v;
byte v, v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v, v, v;
java.lang.Long v;
java.util.Map v, v, v, v;
org.apache.zookeeper.server.quorum.Observer v, v, v, v, v;
java.lang.Exception v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.Follower v, v, v, v, v;
org.apache.zookeeper.server.quorum.Election v, v;
java.lang.Throwable v, v, v, v, v;
org.apache.zookeeper.server.quorum.Vote v, v;
org.apache.zookeeper.server.ZKDatabase v;
long v, v, v, v, v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v, v, v, v;
org.apache.zookeeper.server.ServerMetrics v;
org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer v;
int[] v;
boolean v, v, v, v, v, v, v, v, v, v;
java.util.Collection v, v, v;
org.apache.zookeeper.server.quorum.QuorumBean v, v, v, v, v, v;
int v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v, v, v;
org.apache.zookeeper.jmx.MBeanRegistry v, v, v, v, v;
org.apache.zookeeper.server.quorum.QuorumPeer$1 v;
org.apache.zookeeper.server.quorum.Leader v, v, v, v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateThreadName()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Starting quorum peer");
label:
v = new org.apache.zookeeper.server.quorum.QuorumBean;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumBean: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer)>(v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean> = v;
v = staticinvoke <org.apache.zookeeper.jmx.MBeanRegistry: org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean>;
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void register(org.apache.zookeeper.jmx.ZKMBeanInfo,org.apache.zookeeper.jmx.ZKMBeanInfo)>(v, null);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map getView()>();
v = interfaceinvoke v.<java.util.Map: 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 = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: long id>;
v = v cmp v;
if v != 0 goto label;
v = new org.apache.zookeeper.server.quorum.LocalPeerBean;
specialinvoke v.<org.apache.zookeeper.server.quorum.LocalPeerBean: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer)>(v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.LocalPeerBean jmxLocalPeerBean> = v;
label:
v = staticinvoke <org.apache.zookeeper.jmx.MBeanRegistry: org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean>;
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void register(org.apache.zookeeper.jmx.ZKMBeanInfo,org.apache.zookeeper.jmx.ZKMBeanInfo)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to register with JMX", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.LocalPeerBean jmxLocalPeerBean> = null;
goto label;
label:
v = new org.apache.zookeeper.server.quorum.RemotePeerBean;
specialinvoke v.<org.apache.zookeeper.server.quorum.RemotePeerBean: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer)>(v, v);
label:
v = staticinvoke <org.apache.zookeeper.jmx.MBeanRegistry: org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean>;
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void register(org.apache.zookeeper.jmx.ZKMBeanInfo,org.apache.zookeeper.jmx.ZKMBeanInfo)>(v, v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: long id>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to register with JMX", v);
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to register with JMX", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean> = null;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean running>;
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long unavailableStartTime>;
v = v cmp 0L;
if v != 0 goto label;
v = staticinvoke <org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long unavailableStartTime> = v;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer$3: int[] $SwitchMap$org$apache$zookeeper$server$quorum$QuorumPeer$ServerState>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState getPeerState()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("LOOKING");
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.Counter LOOKING_COUNT>;
interfaceinvoke v.<org.apache.zookeeper.metrics.Counter: void add(long)>(1L);
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("readonlymode.enabled");
if v == 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Attempting to start ReadOnlyZooKeeperServer");
v = new org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
specialinvoke v.<org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog,org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.ZKDatabase)>(v, v, v);
v = new org.apache.zookeeper.server.quorum.QuorumPeer$1;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$1: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer)>(v, v);
label:
virtualinvoke v.<java.lang.Thread: void start()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void reconfigFlagClear()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean shuttingDownLE>;
if v == 0 goto label;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean shuttingDownLE> = 0;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void startLeaderElection()>();
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Election makeLEStrategy()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.Election: org.apache.zookeeper.server.quorum.Vote lookForLeader()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentVote(org.apache.zookeeper.server.quorum.Vote)>(v);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void checkSuspended()>();
label:
virtualinvoke v.<java.lang.Thread: void interrupt()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer: void shutdown()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Unexpected exception", v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LOOKING>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setPeerState(org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v);
label:
virtualinvoke v.<java.lang.Thread: void interrupt()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer: void shutdown()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.lang.Thread: void interrupt()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.ReadOnlyZooKeeperServer: void shutdown()>();
throw v;
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void reconfigFlagClear()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean shuttingDownLE>;
if v == 0 goto label;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean shuttingDownLE> = 0;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void startLeaderElection()>();
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Election makeLEStrategy()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.Election: org.apache.zookeeper.server.quorum.Vote lookForLeader()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentVote(org.apache.zookeeper.server.quorum.Vote)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Unexpected exception", v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LOOKING>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setPeerState(org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v);
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("OBSERVING");
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Observer makeObserver(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setObserver(org.apache.zookeeper.server.quorum.Observer)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Observer observer>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Observer: void observeLeader()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Observer observer>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Observer: void shutdown()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setObserver(org.apache.zookeeper.server.quorum.Observer)>(null);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateServerState()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isRunning()>();
if v == 0 goto label;
staticinvoke <org.apache.zookeeper.server.quorum.Observer: void waitForObserverElectionDelay()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Unexpected exception", v);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Observer observer>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Observer: void shutdown()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setObserver(org.apache.zookeeper.server.quorum.Observer)>(null);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateServerState()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isRunning()>();
if v == 0 goto label;
staticinvoke <org.apache.zookeeper.server.quorum.Observer: void waitForObserverElectionDelay()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Observer observer>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Observer: void shutdown()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setObserver(org.apache.zookeeper.server.quorum.Observer)>(null);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateServerState()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isRunning()>();
if v == 0 goto label;
staticinvoke <org.apache.zookeeper.server.quorum.Observer: void waitForObserverElectionDelay()>();
label:
throw v;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("FOLLOWING");
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower makeFollower(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setFollower(org.apache.zookeeper.server.quorum.Follower)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Follower: void followLeader()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Follower: void shutdown()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setFollower(org.apache.zookeeper.server.quorum.Follower)>(null);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateServerState()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Unexpected exception", v);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Follower: void shutdown()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setFollower(org.apache.zookeeper.server.quorum.Follower)>(null);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateServerState()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Follower: void shutdown()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setFollower(org.apache.zookeeper.server.quorum.Follower)>(null);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateServerState()>();
throw v;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("LEADING");
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader makeLeader(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLeader(org.apache.zookeeper.server.quorum.Leader)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void lead()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLeader(org.apache.zookeeper.server.quorum.Leader)>(null);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("Forcing shutdown");
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLeader(org.apache.zookeeper.server.quorum.Leader)>(null);
label:
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateServerState()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Unexpected exception", v);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("Forcing shutdown");
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLeader(org.apache.zookeeper.server.quorum.Leader)>(null);
label:
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateServerState()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("Forcing shutdown");
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLeader(org.apache.zookeeper.server.quorum.Leader)>(null);
label:
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateServerState()>();
throw v;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("QuorumPeer main thread exited");
v = staticinvoke <org.apache.zookeeper.jmx.MBeanRegistry: org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean>;
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void unregister(org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.LocalPeerBean jmxLocalPeerBean>;
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void unregister(org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean>;
v = interfaceinvoke v.<java.util.Map: 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()>();
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void unregister(org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
goto label;
label:
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean> = null;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.LocalPeerBean jmxLocalPeerBean> = null;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean> = null;
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("QuorumPeer main thread exited");
v = staticinvoke <org.apache.zookeeper.jmx.MBeanRegistry: org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean>;
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void unregister(org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.LocalPeerBean jmxLocalPeerBean>;
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void unregister(org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean>;
v = interfaceinvoke v.<java.util.Map: 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()>();
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void unregister(org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
goto label;
label:
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean> = null;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.LocalPeerBean jmxLocalPeerBean> = null;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean> = null;
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception 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.Exception from label to label with label;
catch java.lang.Exception 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.Exception 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.Exception 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;
}
private synchronized void updateServerState()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Vote v;
long v, v;
byte v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v, v, v, v, v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v, v, v, v;
boolean v;
org.slf4j.Logger v, v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean reconfigFlag>;
if v != 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LOOKING>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setPeerState(org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("PeerState set to LOOKING");
return;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Vote getCurrentVote()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v cmp v;
if v != 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LEADING>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setPeerState(org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("PeerState set to LEADING");
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType PARTICIPANT>;
if v != v goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState FOLLOWING>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setPeerState(org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("PeerState set to FOLLOWING");
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType OBSERVER>;
if v != v goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState OBSERVING>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setPeerState(org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("PeerState set to OBSERVER");
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LOOKING>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setPeerState(org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Should not be here");
label:
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean reconfigFlag> = 0;
return;
}
public void shutdown()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ZKDatabase v;
java.net.DatagramSocket v, v;
org.apache.zookeeper.common.QuorumX509Util v;
org.apache.zookeeper.server.util.JvmPauseMonitor v, v;
org.apache.zookeeper.server.admin.AdminServer$AdminServerException v;
org.apache.zookeeper.server.admin.AdminServer v;
org.slf4j.Logger v, v;
java.io.IOException v;
org.apache.zookeeper.server.quorum.Follower v, v;
org.apache.zookeeper.server.quorum.Leader v, v;
org.apache.zookeeper.server.quorum.Election v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean running> = 0;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.common.QuorumX509Util x509Util>;
virtualinvoke v.<org.apache.zookeeper.common.QuorumX509Util: void close()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("quorum Peer shutdown");
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Follower: void shutdown()>();
label:
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdownServerCnxnFactory()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.net.DatagramSocket udpSocket>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.net.DatagramSocket udpSocket>;
virtualinvoke v.<java.net.DatagramSocket: void close()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.util.JvmPauseMonitor jvmPauseMonitor>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.util.JvmPauseMonitor jvmPauseMonitor>;
virtualinvoke v.<org.apache.zookeeper.server.util.JvmPauseMonitor: void serviceStop()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.admin.AdminServer adminServer>;
interfaceinvoke v.<org.apache.zookeeper.server.admin.AdminServer: void shutdown()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Problem stopping AdminServer", v);
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Election getElectionAlg()>();
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void interrupt()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Election getElectionAlg()>();
interfaceinvoke v.<org.apache.zookeeper.server.quorum.Election: void shutdown()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Error closing logs ", v);
label:
return;
catch org.apache.zookeeper.server.admin.AdminServer$AdminServerException from label to label with label;
catch java.io.IOException from label to label with label;
}
public java.util.Map getView()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.Map v, v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getAllMembers()>();
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
return v;
}
public java.util.Map getVotingView()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
java.util.Map v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
return v;
}
public java.util.Map getObservingView()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
java.util.Map v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getObservingMembers()>();
return v;
}
public synchronized java.util.Set getCurrentAndNextConfigVoters()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.Set v, v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v, v;
java.util.HashSet v;
java.util.Map v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = new java.util.HashSet;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
label:
return v;
}
public boolean viewContains(java.lang.Long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.Long v;
java.util.Map v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.Long;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map getView()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
return v;
}
public java.lang.String[] getQuorumPeers()
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.net.Socket v, v, v;
java.lang.Object[] v;
java.net.SocketAddress v, v;
java.lang.String[] v;
java.util.ArrayList v;
java.lang.String v, v;
boolean v, v;
java.util.Iterator v;
org.apache.zookeeper.server.quorum.Follower v, v;
java.util.List v;
org.apache.zookeeper.server.quorum.Leader v, v, v;
java.lang.Object v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
v = virtualinvoke v.<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.<org.apache.zookeeper.server.quorum.LearnerHandler: java.net.Socket getSocket()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.LearnerHandler: java.net.Socket getSocket()>();
v = virtualinvoke v.<java.net.Socket: java.net.SocketAddress getRemoteSocketAddress()>();
v = staticinvoke <org.apache.zookeeper.common.NetUtils: java.lang.String formatInetAddr(java.net.InetSocketAddress)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: boolean isLearnerSynced(org.apache.zookeeper.server.quorum.LearnerHandler)>(v);
if v == 0 goto label;
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[])>("\u0001*");
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
v = v.<org.apache.zookeeper.server.quorum.Follower: java.net.Socket sock>;
v = virtualinvoke v.<java.net.Socket: java.net.SocketAddress getRemoteSocketAddress()>();
v = staticinvoke <org.apache.zookeeper.common.NetUtils: java.lang.String formatInetAddr(java.net.InetSocketAddress)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = newarray (java.lang.String)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
return v;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String getServerState()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v;
int[] v;
int v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$3: int[] $SwitchMap$org$apache$zookeeper$server$quorum$QuorumPeer$ServerState>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState getPeerState()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
return "leaderelection";
label:
return "leading";
label:
return "following";
label:
return "observing";
label:
return "unknown";
}
public void setMyid(long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long myid> = v;
return;
}
public void setInitialConfig(java.lang.String)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.String;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String initialConfig> = v;
return;
}
public java.lang.String getInitialConfig()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String initialConfig>;
return v;
}
public int getTickTime()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int tickTime>;
return v;
}
public void setTickTime(int)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
int v;
java.lang.Integer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("tickTime set to {}", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int tickTime> = v;
return;
}
public int getMaxClientCnxnsPerHost()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ServerCnxnFactory v, v, v, v;
int v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: int getMaxClientCnxnsPerHost()>();
return v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: int getMaxClientCnxnsPerHost()>();
return v;
label:
v = (int) -1;
return v;
}
public boolean areLocalSessionsEnabled()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean localSessionsEnabled>;
return v;
}
public void enableLocalSessions(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.String v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
if v == 0 goto label;
v = "enabled";
goto label;
label:
v = "disabled";
label:
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Local sessions {}", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean localSessionsEnabled> = v;
return;
}
public boolean isLocalSessionsUpgradingEnabled()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean localSessionsUpgradingEnabled>;
return v;
}
public void enableLocalSessionsUpgrading(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.String v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
if v == 0 goto label;
v = "enabled";
goto label;
label:
v = "disabled";
label:
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Local session upgrading {}", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean localSessionsUpgradingEnabled> = v;
return;
}
public int getMinSessionTimeout()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int minSessionTimeout>;
return v;
}
public void setMinSessionTimeout(int)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
int v;
java.lang.Integer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("minSessionTimeout set to {}", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int minSessionTimeout> = v;
return;
}
public int getMaxSessionTimeout()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int maxSessionTimeout>;
return v;
}
public void setMaxSessionTimeout(int)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
int v;
java.lang.Integer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("maxSessionTimeout set to {}", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int maxSessionTimeout> = v;
return;
}
public int getClientPortListenBacklog()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int clientPortListenBacklog>;
return v;
}
public void setClientPortListenBacklog(int)
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int clientPortListenBacklog> = v;
return;
}
public int getInitLimit()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int initLimit>;
return v;
}
public void setInitLimit(int)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
int v;
java.lang.Integer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("initLimit set to {}", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int initLimit> = v;
return;
}
public int getTick()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.concurrent.atomic.AtomicInteger v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicInteger tick>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
return v;
}
public org.apache.zookeeper.server.quorum.flexible.QuorumVerifier configFromString(java.lang.String) throws java.io.IOException, org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.Properties v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v;
java.io.StringReader v;
int v;
java.lang.String v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.String;
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
v = new java.io.StringReader;
specialinvoke v.<java.io.StringReader: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.util.Properties: void load(java.io.Reader)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int electionType>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.lang.String getOraclePath()>();
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeerConfig: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier parseDynamicConfig(java.util.Properties,int,boolean,boolean,java.lang.String)>(v, v, 0, 0, v);
return v;
}
public org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
java.lang.Object v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK>;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
java.lang.Object v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK>;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public synchronized void restartLeaderElection(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier, org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v;
org.apache.zookeeper.server.quorum.Election v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
v := @parameter: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
if v == null goto label;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Restarting Leader Election");
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Election getElectionAlg()>();
interfaceinvoke v.<org.apache.zookeeper.server.quorum.Election: void shutdown()>();
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean shuttingDownLE> = 0;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void startLeaderElection()>();
label:
return;
}
public java.lang.String getNextDynamicConfigFilename()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.String v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String configFilename>;
if v != null goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("configFilename is null! This should only happen in tests.");
return null;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String configFilename>;
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[])>("\u.dynamic.next");
return v;
}
private void connectNewPeers(org.apache.zookeeper.server.quorum.QuorumCnxManager)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v, v, v;
long v, v, v;
byte v;
java.util.Map v, v;
boolean v, v;
java.util.Iterator v;
java.util.Set v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
java.lang.Object v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumCnxManager;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getAllMembers()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getAllMembers()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = v cmp v;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void connectOne(long)>(v);
goto label;
label:
return;
}
public void setLastSeenQuorumVerifier(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier, boolean)
{
java.lang.Throwable v, v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v, v, v, v, v;
long v, v, v, v, v, v;
java.util.concurrent.atomic.AtomicReference v;
byte v, v;
java.lang.String v, v;
boolean v, v;
org.slf4j.Logger v, v, v;
java.io.IOException v;
java.lang.Object v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
v := @parameter: boolean;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isReconfigEnabled()>();
if v != 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Dynamic reconfig is disabled, we don\'t store the last seen config.");
return;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference qcmRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = v;
goto label;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK>;
label:
v = v;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK>;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v <= 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
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[])>("setLastSeenQuorumVerifier called with stale config \u. Current version: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v != 0 goto label;
exitmonitor v;
label:
exitmonitor v;
label:
return;
label:
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier> = v;
if v == null goto label;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void connectNewPeers(org.apache.zookeeper.server.quorum.QuorumCnxManager)>(v);
label:
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String getNextDynamicConfigFilename()>();
if v == null goto label;
staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeerConfig: void writeDynamicConfig(java.lang.String,org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,boolean)>(v, v, 1);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Error writing next dynamic config file to disk", v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.io.IOException 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;
}
public org.apache.zookeeper.server.quorum.flexible.QuorumVerifier setQuorumVerifier(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier, boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte v, v, v;
java.lang.Long v, v, v, v;
java.util.Map v;
boolean v, v;
java.net.InetSocketAddress v;
java.lang.Throwable v;
java.lang.Object[] v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v, v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
org.slf4j.Logger v, v, v;
java.io.IOException v;
org.apache.zookeeper.server.quorum.MultipleAddresses v, v;
java.lang.Object v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
v := @parameter: boolean;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.Object QV_LOCK>;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v < 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("{} setQuorumVerifier called with known or old config {}. Current version: {}", v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
exitmonitor v;
label:
return v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier> = v;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
if v == null goto label;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v <= 0 goto label;
label:
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier> = v;
label:
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String configFilename>;
if v == null goto label;
label:
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String makeDynamicConfigFilename(long)>(v);
staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeerConfig: void writeDynamicConfig(java.lang.String,org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,boolean)>(v, v, 0);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String configFilename>;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean needEraseClientInfoFromStaticConfig()>();
staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeerConfig: void editStaticConfig(java.lang.String,java.lang.String,boolean)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Error closing file", v);
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("writeToDisk == true but configFilename == null");
label:
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier lastSeenQuorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String getNextDynamicConfigFilename()>();
staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeerConfig: void deleteFile(java.lang.String)>(v);
label:
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getAllMembers()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
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);
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses addr>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses electionAddr>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setAddrs(org.apache.zookeeper.server.quorum.MultipleAddresses,org.apache.zookeeper.server.quorum.MultipleAddresses,java.net.InetSocketAddress)>(v, v, v);
label:
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateObserverMasterList()>();
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.io.IOException 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;
}
private java.lang.String makeDynamicConfigFilename(long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
java.lang.String v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String configFilename>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u.dynamic.\u0001");
return v;
}
private boolean needEraseClientInfoFromStaticConfig()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
long v;
java.net.InetSocketAddress v;
java.lang.Long v;
java.util.Map v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getAllMembers()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
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);
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: boolean isClientAddrFromStatic>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public org.apache.zookeeper.server.quorum.Election getElectionAlg()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Election v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Election electionAlg>;
return v;
}
public int getSyncLimit()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int syncLimit>;
return v;
}
public void setSyncLimit(int)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
int v;
java.lang.Integer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("syncLimit set to {}", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int syncLimit> = v;
return;
}
public int getConnectToLearnerMasterLimit()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int connectToLearnerMasterLimit>;
return v;
}
public void setConnectToLearnerMasterLimit(int)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
int v;
java.lang.Integer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("connectToLearnerMasterLimit set to {}", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int connectToLearnerMasterLimit> = v;
return;
}
public boolean getSyncEnabled()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.Boolean v;
java.lang.String v;
boolean v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("zookeeper.observer.syncEnabled");
if v == null goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("zookeeper.observer.syncEnabled");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{}={}", "zookeeper.observer.syncEnabled", v);
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("zookeeper.observer.syncEnabled");
return v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean syncEnabled>;
return v;
}
public void setSyncEnabled(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean syncEnabled> = v;
return;
}
public int getElectionType()
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int electionType>;
return v;
}
public void setElectionType(int)
{
int v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int electionType> = v;
return;
}
public boolean getQuorumListenOnAllIPs()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumListenOnAllIPs>;
return v;
}
public void setQuorumListenOnAllIPs(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumListenOnAllIPs> = v;
return;
}
public void setCnxnFactory(org.apache.zookeeper.server.ServerCnxnFactory)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.ServerCnxnFactory;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory> = v;
return;
}
public void setSecureCnxnFactory(org.apache.zookeeper.server.ServerCnxnFactory)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.ServerCnxnFactory;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory> = v;
return;
}
public void setSslQuorum(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v, v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
if v == 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Using TLS encrypted quorum communication");
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Using insecure (non-TLS) quorum communication");
label:
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean sslQuorum> = v;
return;
}
public void setUsePortUnification(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.String v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
if v == 0 goto label;
v = "enabled";
goto label;
label:
v = "disabled";
label:
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Port unification {}", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean shouldUsePortUnification> = v;
return;
}
private void startServerCnxnFactory()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ServerCnxnFactory v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void start()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void start()>();
label:
return;
}
private void shutdownServerCnxnFactory()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ServerCnxnFactory v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void shutdown()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void shutdown()>();
label:
return;
}
public void setZooKeeperServer(org.apache.zookeeper.server.ZooKeeperServer)
{
org.apache.zookeeper.server.ZooKeeperServer v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ServerCnxnFactory v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.ZooKeeperServer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void setZooKeeperServer(org.apache.zookeeper.server.ZooKeeperServer)>(v);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void setZooKeeperServer(org.apache.zookeeper.server.ZooKeeperServer)>(v);
label:
return;
}
public void closeAllConnections()
{
org.apache.zookeeper.server.ServerCnxn$DisconnectReason v, v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ServerCnxnFactory v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
v = <org.apache.zookeeper.server.ServerCnxn$DisconnectReason: org.apache.zookeeper.server.ServerCnxn$DisconnectReason SERVER_SHUTDOWN>;
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void closeAll(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)>(v);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
v = <org.apache.zookeeper.server.ServerCnxn$DisconnectReason: org.apache.zookeeper.server.ServerCnxn$DisconnectReason SERVER_SHUTDOWN>;
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void closeAll(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)>(v);
label:
return;
}
public int getClientPort()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
int v, v;
org.apache.zookeeper.server.ServerCnxnFactory v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: int getLocalPort()>();
return v;
label:
v = (int) -1;
return v;
}
public int getSecureClientPort()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
int v, v;
org.apache.zookeeper.server.ServerCnxnFactory v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: int getLocalPort()>();
return v;
label:
v = (int) -1;
return v;
}
public void setTxnFactory(org.apache.zookeeper.server.persistence.FileTxnSnapLog)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.persistence.FileTxnSnapLog;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory> = v;
return;
}
public org.apache.zookeeper.server.persistence.FileTxnSnapLog getTxnFactory()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory>;
return v;
}
public void setZKDatabase(org.apache.zookeeper.server.ZKDatabase)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ZKDatabase v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.ZKDatabase;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb> = v;
return;
}
protected org.apache.zookeeper.server.ZKDatabase getZkDb()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ZKDatabase v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
return v;
}
public synchronized void initConfigInZKDatabase()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ZKDatabase v, v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZKDatabase zkDb>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: void initConfigInZKDatabase(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v);
label:
return;
}
public boolean isRunning()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean running>;
return v;
}
public org.apache.zookeeper.server.quorum.QuorumCnxManager getQuorumCnxManager()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.concurrent.atomic.AtomicReference qcmRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
return v;
}
private long readLongFromFile(java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.io.IOException v;
java.lang.NumberFormatException v;
long v;
java.io.File v, v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
java.io.BufferedReader v;
java.io.FileReader v;
java.lang.String v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.String;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: java.io.File getSnapDir()>();
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = new java.io.BufferedReader;
v = new java.io.FileReader;
specialinvoke v.<java.io.FileReader: void <init>(java.io.File)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
v = "";
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
return v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.io.File)>(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[])>("Found \u in \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.BufferedReader: void close()>();
throw v;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
void writeLongToFile(java.lang.String, long) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$2 v;
long v;
java.io.File v, v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.common.AtomicFileWritingIdiom v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.String;
v := @parameter: long;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog logFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: java.io.File getSnapDir()>();
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = new org.apache.zookeeper.common.AtomicFileWritingIdiom;
v = new org.apache.zookeeper.server.quorum.QuorumPeer$2;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$2: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,long)>(v, v);
specialinvoke v.<org.apache.zookeeper.common.AtomicFileWritingIdiom: void <init>(java.io.File,org.apache.zookeeper.common.AtomicFileWritingIdiom$WriterStatement)>(v, v);
return;
}
public long getCurrentEpoch() throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte v;
long v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch>;
v = v cmp -1L;
if v != 0 goto label;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long readLongFromFile(java.lang.String)>("currentEpoch");
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch> = v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch>;
return v;
}
public long getAcceptedEpoch() throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte v;
long v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch>;
v = v cmp -1L;
if v != 0 goto label;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long readLongFromFile(java.lang.String)>("acceptedEpoch");
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch> = v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch>;
return v;
}
public void setCurrentEpoch(long) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void writeLongToFile(java.lang.String,long)>("currentEpoch", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long currentEpoch> = v;
return;
}
public void setAcceptedEpoch(long) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void writeLongToFile(java.lang.String,long)>("acceptedEpoch", v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long acceptedEpoch> = v;
return;
}
public boolean processReconfig(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier, java.lang.Long, java.lang.Long, boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte v;
java.lang.Long v, v, v, v, v;
java.util.Map v, v, v;
boolean v, v, v, v, v, v, v, v, v;
java.net.InetSocketAddress v, v, v, v;
org.apache.zookeeper.server.quorum.Vote v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v;
long v, v, v, v, v, v;
org.apache.zookeeper.server.ServerCnxnFactory v;
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.MultipleAddresses v, v, v;
java.lang.Object v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
v := @parameter: java.lang.Long;
v := @parameter: java.lang.Long;
v := @parameter: boolean;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isReconfigEnabled()>();
if v != 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Reconfig feature is disabled, skip reconfig processing.");
return 0;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.net.InetSocketAddress getClientAddress()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier setQuorumVerifier(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,boolean)>(v, 1);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void initConfigInZKDatabase()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: long getVersion()>();
v = v cmp v;
if v >= 0 goto label;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getAllMembers()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateRemotePeerMXBeans(java.util.Map)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void restartLeaderElection(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v, v);
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
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);
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
v = virtualinvoke v.<java.net.InetSocketAddress: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress clientAddr>;
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void reconfigure(java.net.InetSocketAddress)>(v);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void updateThreadName()>();
label:
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean updateLearnerType(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean updateVote(long,long)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Vote getCurrentVote()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = interfaceinvoke v.<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: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<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: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses addr>;
if v == null goto label;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses addr>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses addr>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void reconfigFlagClear()>();
label:
if v != 0 goto label;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
private void updateRemotePeerMXBeans(java.util.Map)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.RemotePeerBean v;
java.lang.Long v, v;
java.util.Map v, v, v, v, v, v, v;
boolean v, v, v;
java.util.Set v, v, v, v, v, v;
java.lang.Exception v, v;
org.apache.zookeeper.server.quorum.QuorumBean v;
long v, v;
java.util.HashSet v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v, v, v;
org.apache.zookeeper.jmx.MBeanRegistry v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.util.Map;
v = new java.util.HashSet;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<java.util.Set: boolean retainAll(java.util.Collection)>(v);
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()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.RemotePeerBean: void setQuorumServer(org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer)>(v);
goto label;
label:
v = new java.util.HashSet;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<java.util.Set: boolean removeAll(java.util.Collection)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
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()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = new org.apache.zookeeper.server.quorum.RemotePeerBean;
specialinvoke v.<org.apache.zookeeper.server.quorum.RemotePeerBean: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer)>(v, v);
label:
v = staticinvoke <org.apache.zookeeper.jmx.MBeanRegistry: org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumBean jmxQuorumBean>;
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void register(org.apache.zookeeper.jmx.ZKMBeanInfo,org.apache.zookeeper.jmx.ZKMBeanInfo)>(v, v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: long id>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to register with JMX", v);
goto label;
label:
v = new java.util.HashSet;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<java.util.Set: boolean removeAll(java.util.Collection)>(v);
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()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map jmxRemotePeerBean>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
v = staticinvoke <org.apache.zookeeper.jmx.MBeanRegistry: org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: void unregister(org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to unregister with JMX", v);
goto label;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void updateObserverMasterList()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
long v;
java.util.ArrayList v, v, v;
java.net.InetAddress v;
java.util.Map v;
int v, v;
java.lang.String v;
boolean v;
org.slf4j.Logger v;
java.util.Iterator v;
java.util.Collection v;
java.net.InetSocketAddress v, v;
org.apache.zookeeper.server.quorum.MultipleAddresses v;
org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer v;
java.lang.Object v;
java.lang.StringBuilder v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int observerMasterPort>;
if v > 0 goto label;
return;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.ArrayList observerMasters>;
virtualinvoke v.<java.util.ArrayList: void clear()>();
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier quorumVerifier>;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = interfaceinvoke v.<java.util.Map: 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.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses addr>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.net.InetSocketAddress getReachableOrOne()>();
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = new java.net.InetSocketAddress;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int observerMasterPort>;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.net.InetAddress,int)>(v, v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.ArrayList observerMasters>;
v = new org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: long id>;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: void <init>(long,java.net.InetSocketAddress)>(v, v);
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(",");
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Updated learner master list to be {}", v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.ArrayList observerMasters>;
staticinvoke <java.util.Collections: void shuffle(java.util.List)>(v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int nextObserverMaster> = 0;
return;
}
private boolean useObserverMasters()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v, v;
int v;
boolean v;
java.util.ArrayList v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType OBSERVER>;
if v != v goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.ArrayList observerMasters>;
v = virtualinvoke v.<java.util.ArrayList: int size()>();
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer nextObserverMaster()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.ArrayList v, v;
int v, v, v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int nextObserverMaster>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.ArrayList observerMasters>;
v = virtualinvoke v.<java.util.ArrayList: int size()>();
if v < v goto label;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int nextObserverMaster> = 0;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isRunning()>();
if v == 0 goto label;
staticinvoke <org.apache.zookeeper.server.quorum.Observer: void waitForReconnectDelay()>();
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.ArrayList observerMasters>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int nextObserverMaster>;
v = v + 1;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int nextObserverMaster> = v;
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object get(int)>(v);
return v;
}
org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer findLearnerMaster(org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer v, v;
boolean v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean useObserverMasters()>();
if v == 0 goto label;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer nextObserverMaster()>();
return v;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isRunning()>();
if v == 0 goto label;
staticinvoke <org.apache.zookeeper.server.quorum.Observer: void waitForReconnectDelay()>();
label:
return v;
}
org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer validateLearnerMaster(java.lang.String)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v, v;
java.util.ArrayList v;
java.net.InetAddress v;
java.lang.Long v, v;
int v;
java.lang.String v, v, v;
boolean v, v, v, v, v;
org.slf4j.Logger v, v, v;
java.util.Iterator v, v;
java.util.Set v;
java.lang.NumberFormatException v;
org.apache.zookeeper.server.quorum.MultipleAddresses v;
java.lang.Object v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean useObserverMasters()>();
if v == 0 goto label;
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v = null;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.ArrayList observerMasters>;
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()>();
if v != null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses addr>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.util.Set getAllAddresses()>();
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()>();
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = virtualinvoke v.<java.net.InetAddress: java.lang.String getHostAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u0001:\u0001");
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
if v == 0 goto label;
return v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: long id>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = virtualinvoke v.<java.lang.Long: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return v;
label:
if v != null goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("could not find learner master address={}", v);
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("could not find learner master sid={}", v);
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("cannot validate request, observer masters not enabled");
label:
return null;
catch java.lang.NumberFormatException from label to label with label;
}
private boolean updateLearnerType(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
long v, v;
java.lang.Long v, v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v, v, v, v, v, v, v, v, v;
java.util.Map v, v;
boolean v, v;
org.slf4j.Logger v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getObservingMembers()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
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.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType OBSERVER>;
if v == v goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType OBSERVER>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLearnerType(org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Becoming an observer");
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void reconfigFlagSet()>();
return 1;
label:
return 0;
label:
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
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.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType PARTICIPANT>;
if v == v goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType PARTICIPANT>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLearnerType(org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Becoming a voting participant");
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void reconfigFlagSet()>();
return 1;
label:
return 0;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType PARTICIPANT>;
if v == v goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType PARTICIPANT>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLearnerType(org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Becoming a non-voting participant");
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void reconfigFlagSet()>();
return 1;
label:
return 0;
}
private boolean updateVote(long, long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.Vote v, v;
long v, v, v;
byte v;
java.lang.Long v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
v := @parameter: long;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Vote getCurrentVote()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v cmp v;
if v == 0 goto label;
v = new org.apache.zookeeper.server.quorum.Vote;
specialinvoke v.<org.apache.zookeeper.server.quorum.Vote: void <init>(long,long)>(v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentVote(org.apache.zookeeper.server.quorum.Vote)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void reconfigFlagSet()>();
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Suggested leader: {}", v);
return 1;
label:
return 0;
}
protected void updateElectionVote(long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Vote v, v;
long v, v, v, v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Vote getCurrentVote()>();
if v == null goto label;
v = new org.apache.zookeeper.server.quorum.Vote;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Vote: long getZxid()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Vote: long getElectionEpoch()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Vote: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState getState()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.Vote: void <init>(long,long,long,long,org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v, v, v, v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentVote(org.apache.zookeeper.server.quorum.Vote)>(v);
label:
return;
}
private void updateThreadName()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.Object[] v;
long v;
org.apache.zookeeper.server.ServerCnxnFactory v, v, v, v, v;
java.lang.Long v;
java.lang.String v, v, v, v;
java.net.InetSocketAddress v, v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: java.net.InetSocketAddress getLocalAddress()>();
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory cnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: java.net.InetSocketAddress getLocalAddress()>();
v = staticinvoke <org.apache.zookeeper.common.NetUtils: java.lang.String formatInetAddr(java.net.InetSocketAddress)>(v);
goto label;
label:
v = "disabled";
goto label;
label:
v = "disabled";
label:
v = v;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ServerCnxnFactory secureCnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: java.net.InetSocketAddress getLocalAddress()>();
v = staticinvoke <org.apache.zookeeper.common.NetUtils: java.lang.String formatInetAddr(java.net.InetSocketAddress)>(v);
goto label;
label:
v = "disabled";
label:
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v[1] = v;
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("QuorumPeer[myid=%d](plain=%s)(secure=%s)", v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setName(java.lang.String)>(v);
return;
}
void setElectionTimeTaken(long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: long electionTimeTaken> = v;
return;
}
long getElectionTimeTaken()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
long v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: long electionTimeTaken>;
return v;
}
void setQuorumServerSaslRequired(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.Boolean v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumServerSaslAuthRequired> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{} set to {}", "quorum.auth.serverRequireSasl", v);
return;
}
void setQuorumLearnerSaslRequired(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.Boolean v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumLearnerSaslAuthRequired> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{} set to {}", "quorum.auth.learnerRequireSasl", v);
return;
}
void setQuorumSaslEnabled(boolean)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v, v;
java.lang.Boolean v;
boolean v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: boolean;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumSaslEnableAuth> = v;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumSaslEnableAuth>;
if v != 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("QuorumPeer communication is not secured! (SASL auth disabled)");
goto label;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{} set to {}", "quorum.auth.enableSasl", v);
label:
return;
}
void setQuorumServicePrincipal(java.lang.String)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.String v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.String;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String quorumServicePrincipal> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String quorumServicePrincipal>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{} set to {}", "quorum.auth.kerberos.servicePrincipal", v);
return;
}
void setQuorumLearnerLoginContext(java.lang.String)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.String v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.String;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String quorumLearnerLoginContext> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String quorumLearnerLoginContext>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{} set to {}", "quorum.auth.learner.saslLoginContext", v);
return;
}
void setQuorumServerLoginContext(java.lang.String)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
java.lang.String v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: java.lang.String;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String quorumServerLoginContext> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String quorumServerLoginContext>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{} set to {}", "quorum.auth.server.saslLoginContext", v);
return;
}
void setQuorumCnxnThreadsSize(int)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
int v, v;
java.lang.Integer v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: int;
if v <= 20 goto label;
v.<org.apache.zookeeper.server.quorum.QuorumPeer: int quorumCnxnThreadsSize> = v;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int quorumCnxnThreadsSize>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("quorum.cnxn.threads.size set to {}", v);
return;
}
boolean isQuorumSaslAuthEnabled()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumSaslEnableAuth>;
return v;
}
private boolean isQuorumServerSaslAuthRequired()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumServerSaslAuthRequired>;
return v;
}
private boolean isQuorumLearnerSaslAuthRequired()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean quorumLearnerSaslAuthRequired>;
return v;
}
public org.apache.zookeeper.server.quorum.QuorumCnxManager createCnxnManager()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.auth.QuorumAuthServer v;
long v;
java.lang.Integer v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner v;
java.util.Map v;
int v, v, v, v, v;
boolean v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: int quorumCnxnTimeoutMs>;
if v <= 0 goto label;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: int quorumCnxnTimeoutMs>;
goto label;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int tickTime>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int syncLimit>;
v = v * v;
label:
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Using {}ms as the quorum cnxn socket timeout", v);
v = new org.apache.zookeeper.server.quorum.QuorumCnxManager;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map getView()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.auth.QuorumAuthServer authServer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner authLearner>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean getQuorumListenOnAllIPs()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: int quorumCnxnThreadsSize>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isQuorumSaslAuthEnabled()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,long,java.util.Map,org.apache.zookeeper.server.quorum.auth.QuorumAuthServer,org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner,int,boolean,int,boolean)>(v, v, v, v, v, v, v, v, v);
return v;
}
boolean isLeader(long)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte v;
org.apache.zookeeper.server.quorum.Vote v;
long v, v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Vote getCurrentVote()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v cmp v;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isReconfigEnabled()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean reconfigEnabled>;
return v;
}
public java.lang.Integer getSynced_observers_metric()
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.Integer v, v;
org.apache.zookeeper.server.quorum.Follower v, v;
java.util.List v;
org.apache.zookeeper.server.quorum.Leader v, v;
int v;
v := @this: org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: java.util.List getObservingLearners()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
return v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Follower: java.lang.Integer getSyncedObserverSize()>();
return v;
label:
return null;
}
public static org.apache.zookeeper.server.quorum.QuorumPeer createFromConfig(org.apache.zookeeper.server.quorum.QuorumPeerConfig) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v;
org.apache.zookeeper.common.QuorumX509Util v;
org.apache.zookeeper.server.util.JvmPauseMonitor v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.QuorumPeerConfig v;
org.apache.zookeeper.server.ZKDatabase v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v, v, v;
long v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v, v;
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.Boolean v;
java.lang.String v, v, v, v;
java.io.File v, v;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeerConfig;
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>()>();
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: java.io.File getDataLogDir()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: java.io.File getDataDir()>();
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setTxnFactory(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean areLocalSessionsEnabled()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void enableLocalSessions(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean isLocalSessionsUpgradingEnabled()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void enableLocalSessionsUpgrading(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getElectionAlg()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setElectionType(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: long getServerId()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setMyid(long)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getTickTime()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setTickTime(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getMinSessionTimeout()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setMinSessionTimeout(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getMaxSessionTimeout()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setMaxSessionTimeout(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getInitLimit()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setInitLimit(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getSyncLimit()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setSyncLimit(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getConnectToLearnerMasterLimit()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setConnectToLearnerMasterLimit(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getObserverMasterPort()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setObserverMasterPort(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: java.lang.String getConfigFilename()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setConfigFileName(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getClientPortListenBacklog()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setClientPortListenBacklog(int)>(v);
v = new org.apache.zookeeper.server.ZKDatabase;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.persistence.FileTxnSnapLog getTxnFactory()>();
specialinvoke v.<org.apache.zookeeper.server.ZKDatabase: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setZKDatabase(org.apache.zookeeper.server.ZKDatabase)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier setQuorumVerifier(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,boolean)>(v, 0);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getLastSeenQuorumVerifier()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLastSeenQuorumVerifier(org.apache.zookeeper.server.quorum.flexible.QuorumVerifier,boolean)>(v, 0);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void initConfigInZKDatabase()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean isSslQuorum()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setSslQuorum(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean shouldUsePortUnification()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setUsePortUnification(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getPeerType()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setLearnerType(org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean getSyncEnabled()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setSyncEnabled(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: java.lang.Boolean getQuorumListenOnAllIPs()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setQuorumListenOnAllIPs(boolean)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean sslQuorumReloadCertFiles>;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.common.QuorumX509Util getX509Util()>();
virtualinvoke v.<org.apache.zookeeper.common.QuorumX509Util: void enableCertFileReloading()>();
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean isMultiAddressEnabled()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setMultiAddressEnabled(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean isMultiAddressReachabilityCheckEnabled()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setMultiAddressReachabilityCheckEnabled(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getMultiAddressReachabilityCheckTimeoutMs()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setMultiAddressReachabilityCheckTimeoutMs(int)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean quorumEnableSasl>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setQuorumSaslEnabled(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isQuorumSaslAuthEnabled()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean quorumServerRequireSasl>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setQuorumServerSaslRequired(boolean)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean quorumLearnerRequireSasl>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setQuorumLearnerSaslRequired(boolean)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: java.lang.String quorumServicePrincipal>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setQuorumServicePrincipal(java.lang.String)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: java.lang.String quorumServerLoginContext>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setQuorumServerLoginContext(java.lang.String)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: java.lang.String quorumLearnerLoginContext>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setQuorumLearnerLoginContext(java.lang.String)>(v);
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int quorumCnxnThreadsSize>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setQuorumCnxnThreadsSize(int)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: boolean jvmPauseMonitorToRun>;
if v == 0 goto label;
v = new org.apache.zookeeper.server.util.JvmPauseMonitor;
specialinvoke v.<org.apache.zookeeper.server.util.JvmPauseMonitor: void <init>(org.apache.zookeeper.server.quorum.QuorumPeerConfig)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setJvmPauseMonitor(org.apache.zookeeper.server.util.JvmPauseMonitor)>(v);
label:
return v;
}
static void <clinit>()
{
org.slf4j.Logger v, v;
java.lang.Integer v, v;
int v, v, v;
java.lang.Class v;
boolean v, v;
v = class "Lorg/apache/zookeeper/server/quorum/QuorumPeer;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.apache.zookeeper.server.quorum.QuorumPeer: boolean $assertionsDisabled> = v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/server/quorum/QuorumPeer;");
<org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG> = v;
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer getInteger(java.lang.String,int)>("zookeeper.quorumCnxnTimeoutMs", v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
<org.apache.zookeeper.server.quorum.QuorumPeer: int quorumCnxnTimeoutMs> = v;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: org.slf4j.Logger LOG>;
v = <org.apache.zookeeper.server.quorum.QuorumPeer: int quorumCnxnTimeoutMs>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{}={}", "zookeeper.quorumCnxnTimeoutMs", v);
return;
}
}