public class org.apache.zookeeper.server.controller.ZooKeeperServerController extends java.lang.Object
{
private static final org.slf4j.Logger LOG;
private static final long DEFAULT_DELAY_MS;
private org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer;
private org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory;
public void <init>(org.apache.zookeeper.server.quorum.QuorumPeerConfig) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v;
org.apache.zookeeper.server.quorum.QuorumPeerConfig v;
java.lang.IllegalArgumentException v;
java.net.InetSocketAddress v;
int v, v;
org.apache.zookeeper.server.controller.ControllableConnectionFactory v, v, v;
org.apache.zookeeper.server.controller.ZooKeeperServerController v;
v := @this: org.apache.zookeeper.server.controller.ZooKeeperServerController;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeerConfig;
specialinvoke v.<java.lang.Object: void <init>()>();
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("ZooKeeperServerController requires a valid config!");
throw v;
label:
v = new org.apache.zookeeper.server.controller.ControllableConnectionFactory;
specialinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void <init>()>();
v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory> = v;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: java.net.InetSocketAddress getClientPortAddress()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getMaxClientCnxns()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerConfig: int getClientPortListenBacklog()>();
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void configure(java.net.InetSocketAddress,int,int)>(v, v, v);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer createFromConfig(org.apache.zookeeper.server.quorum.QuorumPeerConfig)>(v);
v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer> = v;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setCnxnFactory(org.apache.zookeeper.server.ServerCnxnFactory)>(v);
return;
}
public void run()
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v;
org.slf4j.Logger v;
int v;
org.apache.zookeeper.server.controller.ZooKeeperServerController v;
org.apache.zookeeper.server.ExitCode v;
java.lang.Exception v;
v := @this: org.apache.zookeeper.server.controller.ZooKeeperServerController;
label:
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void start()>();
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void join()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.controller.ZooKeeperServerController: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Fatal error starting quorum peer", v);
v = <org.apache.zookeeper.server.ExitCode: org.apache.zookeeper.server.ExitCode UNEXPECTED_ERROR>;
v = virtualinvoke v.<org.apache.zookeeper.server.ExitCode: int getValue()>();
staticinvoke <org.apache.zookeeper.util.ServiceUtils: void requestSystemExit(int)>(v);
label:
return;
catch java.lang.Exception from label to label with label;
}
protected org.apache.zookeeper.server.ServerCnxnFactory getCnxnFactory()
{
org.apache.zookeeper.server.controller.ControllableConnectionFactory v;
org.apache.zookeeper.server.controller.ZooKeeperServerController v;
v := @this: org.apache.zookeeper.server.controller.ZooKeeperServerController;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
return v;
}
public synchronized void shutdown()
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v;
org.apache.zookeeper.server.controller.ControllableConnectionFactory v, v;
org.apache.zookeeper.server.controller.ZooKeeperServerController v;
boolean v;
v := @this: org.apache.zookeeper.server.controller.ZooKeeperServerController;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void shutdown()>();
v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory> = null;
label:
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isRunning()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer> = null;
label:
return;
}
public synchronized boolean isReady()
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v;
org.apache.zookeeper.server.ZooKeeperServer v;
org.apache.zookeeper.server.controller.ControllableConnectionFactory v;
org.apache.zookeeper.server.controller.ZooKeeperServerController v;
boolean v, v;
v := @this: org.apache.zookeeper.server.controller.ZooKeeperServerController;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: boolean isRunning()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void processCommand(org.apache.zookeeper.server.controller.ControlCommand)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.IllegalStateException v;
int[] v;
java.lang.Long v, v, v, v, v;
boolean v;
long v, v, v, v, v;
org.apache.zookeeper.server.ServerCnxn$DisconnectReason v, v;
org.apache.zookeeper.server.controller.ControlCommand v;
int v, v;
org.apache.zookeeper.server.controller.ControllableConnectionFactory v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.controller.ControlCommand$Action v, v;
org.slf4j.Logger v;
java.lang.IllegalArgumentException v, v;
org.apache.zookeeper.server.controller.ZooKeeperServerController v;
v := @this: org.apache.zookeeper.server.controller.ZooKeeperServerController;
v := @parameter: org.apache.zookeeper.server.controller.ControlCommand;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Invalid command parameter!");
throw v;
label:
v = <org.apache.zookeeper.server.controller.ZooKeeperServerController: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: org.apache.zookeeper.server.controller.ControlCommand$Action getAction()>();
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
if v != null goto label;
v = "";
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
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]");
label:
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("processing command {}{}", v, v);
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: boolean isReady()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Service is not ready. It has already been shutdown or is still initializing.");
throw v;
label:
v = <org.apache.zookeeper.server.controller.ZooKeeperServerController$1: int[] $SwitchMap$org$apache$zookeeper$server$controller$ControlCommand$Action>;
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: org.apache.zookeeper.server.controller.ControlCommand$Action getAction()>();
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand$Action: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
default: goto label;
};
label:
virtualinvoke v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: void shutdown()>();
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
if v != null goto label;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
v = <org.apache.zookeeper.server.ServerCnxn$DisconnectReason: org.apache.zookeeper.server.ServerCnxn$DisconnectReason CLOSE_ALL_CONNECTIONS_FORCED>;
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void closeAll(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
v = staticinvoke <java.lang.Long: java.lang.Long decode(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = <org.apache.zookeeper.server.ServerCnxn$DisconnectReason: org.apache.zookeeper.server.ServerCnxn$DisconnectReason CONNECTION_CLOSE_FORCED>;
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: boolean closeSession(long,org.apache.zookeeper.server.ServerCnxn$DisconnectReason)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
if v != null goto label;
specialinvoke v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: void expireAllSessions()>();
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
v = staticinvoke <java.lang.Long: java.lang.Long decode(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: void expireSession(long)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
if v != null goto label;
v = 1000L;
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
v = staticinvoke <java.lang.Long: java.lang.Long decode(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
label:
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void delayResponses(long)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
if v != null goto label;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void holdAllFutureResponses()>();
goto label;
label:
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
v = staticinvoke <java.lang.Long: java.lang.Long decode(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void holdFutureResponses(long)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
if v != null goto label;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void failAllFutureRequests()>();
goto label;
label:
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControlCommand: java.lang.String getParameter()>();
v = staticinvoke <java.lang.Long: java.lang.Long decode(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void failFutureRequests(long)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.controller.ControllableConnectionFactory cnxnFactory>;
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void resetBadBehavior()>();
goto label;
label:
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void startLeaderElection()>();
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.zookeeper.server.controller.ControlCommand)>(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[])>("Unknown command: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private org.apache.zookeeper.server.ZooKeeperServer getServer()
{
org.apache.zookeeper.server.ZooKeeperServer v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.controller.ZooKeeperServerController v;
v := @this: org.apache.zookeeper.server.controller.ZooKeeperServerController;
v = v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
return v;
}
private void expireSession(long)
{
org.apache.zookeeper.server.ZooKeeperServer v;
org.apache.zookeeper.server.controller.ZooKeeperServerController v;
long v;
v := @this: org.apache.zookeeper.server.controller.ZooKeeperServerController;
v := @parameter: long;
v = specialinvoke v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.ZooKeeperServer getServer()>();
virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void expire(long)>(v);
return;
}
private void expireAllSessions()
{
java.util.Iterator v, v;
java.util.Set v, v;
long v, v;
org.apache.zookeeper.server.ZooKeeperServer v, v;
org.apache.zookeeper.server.SessionTracker v, v;
org.apache.zookeeper.server.controller.ZooKeeperServerController v;
java.lang.Object v, v;
boolean v, v;
v := @this: org.apache.zookeeper.server.controller.ZooKeeperServerController;
v = specialinvoke v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.ZooKeeperServer getServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.SessionTracker getSessionTracker()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.SessionTracker: java.util.Set localSessions()>();
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.lang.Long: long longValue()>();
specialinvoke v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: void expireSession(long)>(v);
goto label;
label:
v = specialinvoke v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.apache.zookeeper.server.ZooKeeperServer getServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.SessionTracker getSessionTracker()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.SessionTracker: java.util.Set globalSessions()>();
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.lang.Long: long longValue()>();
specialinvoke v.<org.apache.zookeeper.server.controller.ZooKeeperServerController: void expireSession(long)>(v);
goto label;
label:
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/server/controller/ZooKeeperServerController;");
<org.apache.zookeeper.server.controller.ZooKeeperServerController: org.slf4j.Logger LOG> = v;
return;
}
}