public class oadd.org.apache.zookeeper.server.quorum.LeaderElection extends java.lang.Object implements oadd.org.apache.zookeeper.server.quorum.Election
{
private static final org.slf4j.Logger LOG;
protected static final java.util.Random epochGen;
protected oadd.org.apache.zookeeper.server.quorum.QuorumPeer self;
public void <init>(oadd.org.apache.zookeeper.server.quorum.QuorumPeer)
{
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v;
oadd.org.apache.zookeeper.server.quorum.LeaderElection v;
v := @this: oadd.org.apache.zookeeper.server.quorum.LeaderElection;
v := @parameter: oadd.org.apache.zookeeper.server.quorum.QuorumPeer;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self> = v;
return;
}
protected oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult countVotes(java.util.HashMap, java.util.HashSet)
{
java.lang.Integer v;
byte v, v, v, v, v, v;
java.lang.Long v, v, v, v, v;
java.util.Set v, v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.LeaderElection v;
java.lang.String v;
boolean v, v, v, v, v;
java.util.Collection v;
java.util.HashMap v, v, v, v;
java.util.HashSet v;
int v, v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.Vote v, v, v, v, v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult v;
v := @this: oadd.org.apache.zookeeper.server.quorum.LeaderElection;
v := @parameter: java.util.HashMap;
v := @parameter: java.util.HashSet;
v = new oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: void <init>()>();
v = new oadd.org.apache.zookeeper.server.quorum.Vote;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: void <init>(long,long)>(-9223372036854775808L, -9223372036854775808L);
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote vote> = v;
v = new oadd.org.apache.zookeeper.server.quorum.Vote;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: void <init>(long,long)>(-9223372036854775808L, -9223372036854775808L);
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote winner> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<java.util.HashMap: 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 getValue()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = virtualinvoke v.<java.util.HashSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getZxid()>();
v = v cmp v;
if v >= 0 goto label;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getZxid()>();
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);
goto label;
label:
v = virtualinvoke v.<java.util.HashMap: 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 getValue()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getZxid()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v >= 0 goto label;
v = new oadd.org.apache.zookeeper.server.quorum.Vote;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getElectionEpoch()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getPeerEpoch()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState getState()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: void <init>(long,long,long,long,oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v, v, v, v, v);
interfaceinvoke v.<java.util.Map$Entry: java.lang.Object setValue(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<java.util.HashMap: int size()>();
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: int numValidVotes> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<java.util.HashMap: 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.<java.util.HashMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
label:
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v + 1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote vote>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v cmp v;
if v != 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: int count>;
v = v + 1;
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: int count> = v;
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getZxid()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote vote>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getZxid()>();
v = v cmp v;
if v > 0 goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getZxid()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote vote>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getZxid()>();
v = v cmp v;
if v != 0 goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote vote>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v cmp v;
if v <= 0 goto label;
label:
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote vote> = v;
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: int count> = 1;
goto label;
label:
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: int winningCount> = 0;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Election tally: ");
v = virtualinvoke v.<java.util.HashMap: 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 getValue()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: int winningCount>;
if v <= v goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: int winningCount> = v;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote winner> = v;
label:
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,java.lang.Object)>(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\t-> \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
goto label;
label:
return v;
}
public void shutdown()
{
oadd.org.apache.zookeeper.server.quorum.LeaderElection v;
v := @this: oadd.org.apache.zookeeper.server.quorum.LeaderElection;
return;
}
public oadd.org.apache.zookeeper.server.quorum.Vote lookForLeader() throws java.lang.InterruptedException
{
byte[] v, v;
byte v, v, v;
java.lang.Long v;
java.util.Map v, v, v;
oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean v, v, v, v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.LeaderElection v;
java.net.DatagramSocket v, v;
java.io.IOException v;
java.util.Random v;
java.util.Collection v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v, v, v;
oadd.org.apache.zookeeper.jmx.MBeanRegistry v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.LocalPeerBean v;
java.util.HashSet v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.server.quorum.Vote v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v;
java.lang.Exception v, v, v, v, v;
java.net.DatagramPacket v, v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v, v, v, v;
java.lang.Throwable v;
java.net.SocketException v;
java.lang.String v, v, v, v, v, v;
java.net.SocketAddress v;
java.nio.ByteBuffer v, v;
boolean v, v;
java.net.InetSocketAddress v, v, v;
java.util.HashMap v;
java.util.Iterator v;
oadd.org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.IllegalArgumentException v, v;
oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult v;
v := @this: oadd.org.apache.zookeeper.server.quorum.LeaderElection;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = new oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean;
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean: void <init>()>();
v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean> = v;
v = staticinvoke <oadd.org.apache.zookeeper.jmx.MBeanRegistry: oadd.org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean>;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LocalPeerBean jmxLocalPeerBean>;
virtualinvoke v.<oadd.org.apache.zookeeper.jmx.MBeanRegistry: void register(oadd.org.apache.zookeeper.jmx.ZKMBeanInfo,oadd.org.apache.zookeeper.jmx.ZKMBeanInfo)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to register with JMX", v);
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean> = null;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = new oadd.org.apache.zookeeper.server.quorum.Vote;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getLastLoggedZxid()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: void <init>(long,long)>(v, v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentVote(oadd.org.apache.zookeeper.server.quorum.Vote)>(v);
v = newarray (byte)[4];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
v = newarray (byte)[28];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
v = null;
label:
v = new java.net.DatagramSocket;
specialinvoke v.<java.net.DatagramSocket: void <init>()>();
v = v;
virtualinvoke v.<java.net.DatagramSocket: void setSoTimeout(int)>(200);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Socket exception when creating socket for leader election", v);
staticinvoke <java.lang.System: void exit(int)>(4);
label:
v = new java.net.DatagramPacket;
v = lengthof v;
specialinvoke v.<java.net.DatagramPacket: void <init>(byte[],int)>(v, v);
v = new java.net.DatagramPacket;
v = lengthof v;
specialinvoke v.<java.net.DatagramPacket: void <init>(byte[],int)>(v, v);
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: java.util.Random epochGen>;
v = virtualinvoke v.<java.util.Random: int nextInt()>();
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: boolean isRunning()>();
if v == 0 goto label;
v = new java.util.HashMap;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map getVotingView()>();
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<java.util.HashMap: void <init>(int)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer clear()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putInt(int)>(v);
virtualinvoke v.<java.net.DatagramPacket: void setLength(int)>(4);
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map getVotingView()>();
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 = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress addr>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.InetSocketAddress)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Server address: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress addr>;
virtualinvoke v.<java.net.DatagramPacket: void setSocketAddress(java.net.SocketAddress)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<java.lang.IllegalArgumentException: java.lang.String getMessage()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: java.net.InetSocketAddress addr>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.net.InetSocketAddress)>(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[])>("Unable to set socket address on packet, msg:\u with addr:\u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
virtualinvoke v.<java.net.DatagramSocket: void send(java.net.DatagramPacket)>(v);
v = lengthof v;
virtualinvoke v.<java.net.DatagramPacket: void setLength(int)>(v);
virtualinvoke v.<java.net.DatagramSocket: void receive(java.net.DatagramPacket)>(v);
v = virtualinvoke v.<java.net.DatagramPacket: int getLength()>();
v = lengthof v;
if v == v goto label;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.net.DatagramPacket: int getLength()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Got a short response: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
label:
goto label;
label:
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer clear()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int getInt()>();
if v == v goto label;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
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[])>("Got bad xid: expected \u got \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
label:
goto label;
label:
v = virtualinvoke v.<java.nio.ByteBuffer: long getLong()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<java.util.HashSet: boolean add(java.lang.Object)>(v);
v = new oadd.org.apache.zookeeper.server.quorum.Vote;
v = virtualinvoke v.<java.nio.ByteBuffer: long getLong()>();
v = virtualinvoke v.<java.nio.ByteBuffer: long getLong()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: void <init>(long,long)>(v, v);
v = virtualinvoke v.<java.net.DatagramPacket: java.net.SocketAddress getSocketAddress()>();
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Ignoring exception while looking for leader", v);
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult countVotes(java.util.HashMap,java.util.HashSet)>(v, v);
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: int numValidVotes>;
if v != 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = new oadd.org.apache.zookeeper.server.quorum.Vote;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getLastLoggedZxid()>();
specialinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: void <init>(long,long)>(v, v);
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentVote(oadd.org.apache.zookeeper.server.quorum.Vote)>(v);
goto label;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote winner>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v cmp 0L;
if v < 0 goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote vote>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentVote(oadd.org.apache.zookeeper.server.quorum.Vote)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: int winningCount>;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: java.util.Map getVotingView()>();
v = interfaceinvoke v.<java.util.Map: int size()>();
v = v / 2;
if v <= v goto label;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection$ElectionResult: oadd.org.apache.zookeeper.server.quorum.Vote winner>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentVote(oadd.org.apache.zookeeper.server.quorum.Vote)>(v);
virtualinvoke v.<java.net.DatagramSocket: void close()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.Vote getCurrentVote()>();
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType)>(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 leader: my type is: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType getLearnerType()>();
v = <oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType OBSERVER>;
if v != v goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = v cmp v;
if v != 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("OBSERVER elected as leader!");
staticinvoke <java.lang.Thread: void sleep(long)>(100L);
goto label;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = <oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState OBSERVING>;
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setPeerState(oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v);
staticinvoke <java.lang.Thread: void sleep(long)>(100L);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean>;
if v == null goto label;
v = staticinvoke <oadd.org.apache.zookeeper.jmx.MBeanRegistry: oadd.org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean>;
virtualinvoke v.<oadd.org.apache.zookeeper.jmx.MBeanRegistry: void unregister(oadd.org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to unregister with JMX", v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean> = null;
return v;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.Vote: long getId()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: long getId()>();
v = v cmp v;
if v != 0 goto label;
v = <oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LEADING>;
goto label;
label:
v = <oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState FOLLOWING>;
label:
virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: void setPeerState(oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState)>(v);
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState getPeerState()>();
v = <oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: oadd.org.apache.zookeeper.server.quorum.QuorumPeer$ServerState FOLLOWING>;
if v != v goto label;
staticinvoke <java.lang.Thread: void sleep(long)>(100L);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean>;
if v == null goto label;
v = staticinvoke <oadd.org.apache.zookeeper.jmx.MBeanRegistry: oadd.org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean>;
virtualinvoke v.<oadd.org.apache.zookeeper.jmx.MBeanRegistry: void unregister(oadd.org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to unregister with JMX", v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean> = null;
return v;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
goto label;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean>;
if v == null goto label;
v = staticinvoke <oadd.org.apache.zookeeper.jmx.MBeanRegistry: oadd.org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean>;
virtualinvoke v.<oadd.org.apache.zookeeper.jmx.MBeanRegistry: void unregister(oadd.org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to unregister with JMX", v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean> = null;
return null;
label:
v := @caughtexception;
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean>;
if v == null goto label;
v = staticinvoke <oadd.org.apache.zookeeper.jmx.MBeanRegistry: oadd.org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean>;
virtualinvoke v.<oadd.org.apache.zookeeper.jmx.MBeanRegistry: void unregister(oadd.org.apache.zookeeper.jmx.ZKMBeanInfo)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed to unregister with JMX", v);
label:
v = v.<oadd.org.apache.zookeeper.server.quorum.LeaderElection: oadd.org.apache.zookeeper.server.quorum.QuorumPeer self>;
v.<oadd.org.apache.zookeeper.server.quorum.QuorumPeer: oadd.org.apache.zookeeper.server.quorum.LeaderElectionBean jmxLeaderElectionBean> = null;
throw v;
catch java.lang.Exception from label to label with label;
catch java.net.SocketException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException 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.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
static void <clinit>()
{
java.util.Random v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Loadd/org/apache/zookeeper/server/quorum/LeaderElection;");
<oadd.org.apache.zookeeper.server.quorum.LeaderElection: org.slf4j.Logger LOG> = v;
v = new java.util.Random;
specialinvoke v.<java.util.Random: void <init>()>();
<oadd.org.apache.zookeeper.server.quorum.LeaderElection: java.util.Random epochGen> = v;
return;
}
}