public abstract class org.apache.zookeeper.server.quorum.QuorumZooKeeperServer extends org.apache.zookeeper.server.ZooKeeperServer
{
public final org.apache.zookeeper.server.quorum.QuorumPeer self;
protected org.apache.zookeeper.server.quorum.UpgradeableSessionTracker upgradeableSessionTracker;
protected void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog, int, int, int, int, org.apache.zookeeper.server.ZKDatabase, org.apache.zookeeper.server.quorum.QuorumPeer)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ZKDatabase v;
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
int v, v, v, v;
java.lang.String v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
v := @parameter: org.apache.zookeeper.server.persistence.FileTxnSnapLog;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.zookeeper.server.ZKDatabase;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeer;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String getInitialConfig()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isReconfigEnabled()>();
specialinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog,int,int,int,int,org.apache.zookeeper.server.ZKDatabase,java.lang.String,boolean)>(v, v, v, v, v, v, v, v);
v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self> = v;
return;
}
protected void startSessionTracker()
{
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
org.apache.zookeeper.server.quorum.UpgradeableSessionTracker v;
org.apache.zookeeper.server.SessionTracker v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.SessionTracker sessionTracker>;
v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.UpgradeableSessionTracker upgradeableSessionTracker> = v;
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.UpgradeableSessionTracker upgradeableSessionTracker>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.UpgradeableSessionTracker: void start()>();
return;
}
public org.apache.zookeeper.server.Request checkUpgradeSession(org.apache.zookeeper.server.Request) throws java.io.IOException, org.apache.zookeeper.KeeperException
{
org.apache.zookeeper.CreateMode v, v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
boolean v, v, v, v, v, v, v;
org.apache.jute.Record v, v, v;
org.apache.zookeeper.server.Request v, v;
long v, v;
java.util.function.Supplier v, v;
int v, v, v, v, v, v, v, v;
java.util.Iterator v;
org.apache.zookeeper.KeeperException$EphemeralOnLocalSessionException v;
java.lang.Object v;
org.apache.zookeeper.server.quorum.UpgradeableSessionTracker v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
v := @parameter: org.apache.zookeeper.server.Request;
v = virtualinvoke v.<org.apache.zookeeper.server.Request: boolean isThrottled()>();
if v == 0 goto label;
return null;
label:
v = v.<org.apache.zookeeper.server.Request: int type>;
if v == 1 goto label;
v = v.<org.apache.zookeeper.server.Request: int type>;
if v == 15 goto label;
v = v.<org.apache.zookeeper.server.Request: int type>;
if v != 14 goto label;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.UpgradeableSessionTracker upgradeableSessionTracker>;
v = v.<org.apache.zookeeper.server.Request: long sessionId>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.UpgradeableSessionTracker: boolean isLocalSession(long)>(v);
if v != 0 goto label;
label:
return null;
label:
v = v.<org.apache.zookeeper.server.Request: int type>;
if 14 != v goto label;
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumZooKeeperServer$init__205: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<org.apache.zookeeper.server.Request: org.apache.jute.Record readRequestRecord(java.util.function.Supplier)>(v);
v = 0;
v = virtualinvoke v.<org.apache.zookeeper.MultiOperationRecord: 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.Op: int getType()>();
if v == 1 goto label;
v = virtualinvoke v.<org.apache.zookeeper.Op: int getType()>();
if v != 15 goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.Op: org.apache.jute.Record toRequestRecord()>();
v = virtualinvoke v.<org.apache.zookeeper.proto.CreateRequest: int getFlags()>();
v = staticinvoke <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode fromFlag(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.CreateMode: boolean isEphemeral()>();
if v == 0 goto label;
v = 1;
label:
if v != 0 goto label;
return null;
label:
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumZooKeeperServer$init__204: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<org.apache.zookeeper.server.Request: org.apache.jute.Record readRequestRecord(java.util.function.Supplier)>(v);
v = virtualinvoke v.<org.apache.zookeeper.proto.CreateRequest: int getFlags()>();
v = staticinvoke <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode fromFlag(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.CreateMode: boolean isEphemeral()>();
if v != 0 goto label;
return null;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isLocalSessionsUpgradingEnabled()>();
if v != 0 goto label;
v = new org.apache.zookeeper.KeeperException$EphemeralOnLocalSessionException;
specialinvoke v.<org.apache.zookeeper.KeeperException$EphemeralOnLocalSessionException: void <init>()>();
throw v;
label:
v = v.<org.apache.zookeeper.server.Request: long sessionId>;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.Request makeUpgradeRequest(long)>(v);
return v;
}
private org.apache.zookeeper.server.Request makeUpgradeRequest(long)
{
java.lang.Throwable v;
long v;
org.apache.zookeeper.server.Request v;
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
org.apache.zookeeper.txn.CreateSessionTxn v;
int v, v;
org.apache.zookeeper.server.RequestRecord v;
org.apache.zookeeper.server.quorum.UpgradeableSessionTracker v, v, v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
v := @parameter: long;
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.UpgradeableSessionTracker upgradeableSessionTracker>;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.UpgradeableSessionTracker upgradeableSessionTracker>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.UpgradeableSessionTracker: boolean isLocalSession(long)>(v);
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.UpgradeableSessionTracker upgradeableSessionTracker>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.UpgradeableSessionTracker: int upgradeSession(long)>(v);
v = new org.apache.zookeeper.txn.CreateSessionTxn;
specialinvoke v.<org.apache.zookeeper.txn.CreateSessionTxn: void <init>(int)>(v);
v = new org.apache.zookeeper.server.Request;
v = staticinvoke <org.apache.zookeeper.server.RequestRecord: org.apache.zookeeper.server.RequestRecord fromRecord(org.apache.jute.Record)>(v);
v = (int) -10;
specialinvoke v.<org.apache.zookeeper.server.Request: void <init>(org.apache.zookeeper.server.ServerCnxn,long,int,int,org.apache.zookeeper.server.RequestRecord,java.util.List)>(null, v, 0, v, v, null);
exitmonitor v;
label:
return v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return null;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void upgrade(long)
{
org.apache.zookeeper.server.Request v;
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
org.slf4j.Logger v;
long v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
v := @parameter: long;
v = specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.Request makeUpgradeRequest(long)>(v);
if v == null goto label;
v = <org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Upgrading session 0x{}", v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: void submitRequest(org.apache.zookeeper.server.Request)>(v);
label:
return;
}
protected void setLocalSessionFlag(org.apache.zookeeper.server.Request)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.slf4j.Logger v;
long v, v;
org.apache.zookeeper.server.Request v;
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
int v;
java.lang.String v, v;
org.apache.zookeeper.server.quorum.UpgradeableSessionTracker v;
boolean v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
v := @parameter: org.apache.zookeeper.server.Request;
v = v.<org.apache.zookeeper.server.Request: int type>;
lookupswitch(v)
{
case -11: goto label;
case -10: goto label;
default: goto label;
};
label:
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean areLocalSessionsEnabled()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.zookeeper.server.Request: void setLocalSession(boolean)>(1);
goto label;
label:
v = "global";
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.UpgradeableSessionTracker upgradeableSessionTracker>;
v = v.<org.apache.zookeeper.server.Request: long sessionId>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.UpgradeableSessionTracker: boolean isLocalSession(long)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.zookeeper.server.Request: void setLocalSession(boolean)>(1);
v = "local";
label:
v = <org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.Request: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Submitting {} closeSession request for session 0x{}", v, v);
label:
return;
}
public void dumpConf(java.io.PrintWriter)
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
java.util.function.Function v, v;
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v;
int v, v, v, v;
java.lang.String v;
java.util.stream.Collector v, v;
java.io.PrintWriter v;
java.util.List v, v;
java.util.stream.Stream v, v, v, v;
org.apache.zookeeper.server.quorum.MultipleAddresses v, v;
java.lang.Object v, v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
v := @parameter: java.io.PrintWriter;
specialinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void dumpConf(java.io.PrintWriter)>(v);
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>("initLimit=");
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getInitLimit()>();
virtualinvoke v.<java.io.PrintWriter: void println(int)>(v);
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>("syncLimit=");
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getSyncLimit()>();
virtualinvoke v.<java.io.PrintWriter: void println(int)>(v);
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>("electionAlg=");
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getElectionType()>();
virtualinvoke v.<java.io.PrintWriter: void println(int)>(v);
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>("electionPort=");
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.MultipleAddresses getElectionAddress()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.util.List getAllPorts()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumZooKeeperServer$toString__206: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector joining(java.lang.CharSequence)>("|");
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>("quorumPort=");
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.MultipleAddresses getQuorumAddress()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.util.List getAllPorts()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumZooKeeperServer$toString__207: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector joining(java.lang.CharSequence)>("|");
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>("peerType=");
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: int ordinal()>();
virtualinvoke v.<java.io.PrintWriter: void println(int)>(v);
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("membership: ");
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
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 toString()>();
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>(v);
return;
}
protected void setState(org.apache.zookeeper.server.ZooKeeperServer$State)
{
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
org.apache.zookeeper.server.ZooKeeperServer$State v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
v := @parameter: org.apache.zookeeper.server.ZooKeeperServer$State;
v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.ZooKeeperServer$State state> = v;
return;
}
protected void registerMetrics()
{
org.apache.zookeeper.metrics.MetricsContext v;
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
org.apache.zookeeper.metrics.MetricsProvider v;
org.apache.zookeeper.server.ServerMetrics v;
org.apache.zookeeper.metrics.Gauge v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
specialinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void registerMetrics()>();
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.MetricsProvider getMetricsProvider()>();
v = interfaceinvoke v.<org.apache.zookeeper.metrics.MetricsProvider: org.apache.zookeeper.metrics.MetricsContext getRootContext()>();
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumZooKeeperServer$lambda_registerMetrics_0__208: org.apache.zookeeper.metrics.Gauge bootstrap$(org.apache.zookeeper.server.quorum.QuorumZooKeeperServer)>(v);
interfaceinvoke v.<org.apache.zookeeper.metrics.MetricsContext: void registerGauge(java.lang.String,org.apache.zookeeper.metrics.Gauge)>("quorum_size", v);
return;
}
protected void unregisterMetrics()
{
org.apache.zookeeper.metrics.MetricsContext v;
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
org.apache.zookeeper.metrics.MetricsProvider v;
org.apache.zookeeper.server.ServerMetrics v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
specialinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void unregisterMetrics()>();
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.MetricsProvider getMetricsProvider()>();
v = interfaceinvoke v.<org.apache.zookeeper.metrics.MetricsProvider: org.apache.zookeeper.metrics.MetricsContext getRootContext()>();
interfaceinvoke v.<org.apache.zookeeper.metrics.MetricsContext: void unregisterGauge(java.lang.String)>("quorum_size");
return;
}
public void dumpMonitorValues(java.util.function.BiConsumer)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumZooKeeperServer v;
java.util.function.BiConsumer v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.QuorumZooKeeperServer;
v := @parameter: java.util.function.BiConsumer;
specialinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void dumpMonitorValues(java.util.function.BiConsumer)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumZooKeeperServer: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: java.lang.String getDetailedPeerState()>();
interfaceinvoke v.<java.util.function.BiConsumer: void accept(java.lang.Object,java.lang.Object)>("peer_state", v);
return;
}
}