public class org.apache.zookeeper.server.quorum.CnxManagerTest extends org.apache.zookeeper.ZKTestCase
{
protected static final org.slf4j.Logger LOG;
protected static final int THRESHOLD;
int count;
java.util.Map peers;
java.io.File[] peerTmpdir;
int[] peerQuorumPort;
int[] peerClientPort;
public void <init>()
{
org.apache.zookeeper.server.quorum.CnxManagerTest v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
specialinvoke v.<org.apache.zookeeper.ZKTestCase: void <init>()>();
return;
}
public void setUp() throws java.lang.Exception
{
java.util.HashMap v;
int[] v, v, v, v, v, v;
java.lang.Long v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
java.util.Map v;
int v, v, v, v, v, v, v, v, v, v, v;
java.net.InetSocketAddress v, v, v;
java.io.File v;
org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer v;
java.io.File[] v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int count> = 3;
v = new java.util.HashMap;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int count>;
specialinvoke v.<java.util.HashMap: void <init>(int)>(v);
v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers> = v;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int count>;
v = newarray (java.io.File)[v];
v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir> = v;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int count>;
v = newarray (int)[v];
v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerQuorumPort> = v;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int count>;
v = newarray (int)[v];
v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort> = v;
v = 0;
label:
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int count>;
if v >= v goto label;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerQuorumPort>;
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
v[v] = v;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
v[v] = v;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = new org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer;
v = new java.net.InetSocketAddress;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerQuorumPort>;
v = v[v];
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>("127.0.0.1", v);
v = new java.net.InetSocketAddress;
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>("127.0.0.1", v);
v = new java.net.InetSocketAddress;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = v[v];
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>("127.0.0.1", v);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: void <init>(long,java.net.InetSocketAddress,java.net.InetSocketAddress,java.net.InetSocketAddress)>(v, v, v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = staticinvoke <org.apache.zookeeper.test.ClientBase: java.io.File createTmpDir()>();
v[v] = v;
v = v + 1;
goto label;
label:
return;
}
java.nio.ByteBuffer createMsg(int, long, long, long)
{
byte[] v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
int v;
long v, v, v;
java.nio.ByteBuffer v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v := @parameter: int;
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
v = newarray (byte)[28];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer clear()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putInt(int)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putLong(long)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putLong(long)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putLong(long)>(v);
return v;
}
public void testCnxManager() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.CnxManagerTest$CnxManagerThread v;
java.nio.ByteBuffer v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$Message v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v;
int[] v;
java.lang.Long v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
java.util.Map v;
int v, v, v, v;
boolean v, v, v, v;
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
java.io.File v, v;
java.util.concurrent.TimeUnit v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener v, v;
java.io.File[] v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v = new org.apache.zookeeper.server.quorum.CnxManagerTest$CnxManagerThread;
specialinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest$CnxManagerThread: void <init>(org.apache.zookeeper.server.quorum.CnxManagerTest)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest$CnxManagerThread: void start()>();
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = v[1];
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,int,long,int,int,int,int)>(v, v, v, v, 3, 1L, 1000, 2, 2, 2);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumCnxManager createCnxnManager()>();
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()>();
goto label;
label:
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("Null listener when initializing cnx manager");
label:
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LOOKING>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: int ordinal()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.nio.ByteBuffer createMsg(int,long,long,long)>(v, 1L, -1L, 1L);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void toSend(java.lang.Long,java.nio.ByteBuffer)>(v, v);
v = null;
v = 1;
label:
if v != null goto label;
v = v;
v = v + 1;
if v > 4 goto label;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: org.apache.zookeeper.server.quorum.QuorumCnxManager$Message pollRecvQueue(long,java.util.concurrent.TimeUnit)>(3000L, v);
if v != null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void connectAll()>();
goto label;
label:
if v > 4 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Exceeded number of retries");
virtualinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest$CnxManagerThread: void join(long)>(5000L);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest$CnxManagerThread: boolean isAlive()>();
if v == 0 goto label;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Thread didn\'t join");
goto label;
label:
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest$CnxManagerThread: boolean failed>;
if v == 0 goto label;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Did not receive expected message");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void halt()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener listener>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: boolean isAlive()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
return;
}
public void testCnxManagerTimeout() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.nio.ByteBuffer v;
byte v;
org.apache.zookeeper.server.quorum.QuorumPeer$ServerState v;
int[] v;
java.lang.Long v, v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
java.util.Map v, v;
boolean v;
java.net.InetSocketAddress v, v, v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener v, v;
org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer v;
long v, v, v;
java.util.concurrent.ThreadLocalRandom v;
int v, v, v, v, v, v;
java.lang.String v;
org.slf4j.Logger v, v;
java.io.File v, v, v;
java.io.File[] v, v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v = staticinvoke <java.util.concurrent.ThreadLocalRandom: java.util.concurrent.ThreadLocalRandom current()>();
v = virtualinvoke v.<java.util.concurrent.ThreadLocalRandom: int nextInt(int,int)>(1, 255);
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
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[])>("10.1.1.\u0001");
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("This is the dead address I\'m trying: {}", v);
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(2L);
v = new org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer;
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>(v, v);
v = new java.net.InetSocketAddress;
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>(v, v);
v = new java.net.InetSocketAddress;
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>(v, v);
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: void <init>(long,java.net.InetSocketAddress,java.net.InetSocketAddress,java.net.InetSocketAddress)>(2L, v, v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = staticinvoke <org.apache.zookeeper.test.ClientBase: java.io.File createTmpDir()>();
v[2] = v;
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = v[1];
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,int,long,int,int,int,int)>(v, v, v, v, 3, 1L, 1000, 2, 2, 2);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumCnxManager createCnxnManager()>();
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()>();
goto label;
label:
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("Null listener when initializing cnx manager");
label:
v = staticinvoke <org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(2L);
v = <org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: org.apache.zookeeper.server.quorum.QuorumPeer$ServerState LOOKING>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$ServerState: int ordinal()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.nio.ByteBuffer createMsg(int,long,long,long)>(v, 1L, -1L, 1L);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void toSend(java.lang.Long,java.nio.ByteBuffer)>(v, v);
v = staticinvoke <org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = v - v;
v = v cmp 10000L;
if v <= 0 goto label;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Waited more than necessary");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void halt()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener listener>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: boolean isAlive()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
return;
}
public void testCnxManagerSpinLock() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte[] v, v;
java.lang.Integer v;
java.nio.ByteBuffer v;
java.io.DataOutputStream v;
java.nio.channels.SocketChannel v;
int[] v;
java.lang.Long v, v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
java.util.Map v, v, v;
boolean v;
java.net.InetSocketAddress v, v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
java.lang.Exception v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener v, v;
java.net.Socket v, v;
long v;
int v, v, v, v, v, v;
java.lang.String v, v;
java.io.OutputStream v;
org.slf4j.Logger v, v, v;
java.io.File v, v;
org.apache.zookeeper.server.quorum.MultipleAddresses v, v;
java.lang.Object v, v;
java.io.File[] v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = v[1];
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,int,long,int,int,int,int)>(v, v, v, v, 3, 1L, 1000, 2, 2, 2);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumCnxManager createCnxnManager()>();
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()>();
goto label;
label:
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("Null listener when initializing cnx manager");
label:
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
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);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses electionAddr>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.net.InetSocketAddress getReachableOrOne()>();
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Election port: {}", v);
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
v = staticinvoke <java.nio.channels.SocketChannel: java.nio.channels.SocketChannel open()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
virtualinvoke v.<java.net.Socket: void connect(java.net.SocketAddress,int)>(v, 5000);
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(2L);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses electionAddr>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.net.InetSocketAddress getReachableOrOne()>();
v = new java.io.DataOutputStream;
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: java.io.OutputStream getOutputStream()>();
specialinvoke v.<java.io.DataOutputStream: void <init>(java.io.OutputStream)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeLong(long)>(-65536L);
virtualinvoke v.<java.io.DataOutputStream: void writeLong(long)>(2L);
v = virtualinvoke v.<java.net.InetSocketAddress: java.lang.String getHostString()>();
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: byte[] getBytes()>();
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
virtualinvoke v.<java.io.DataOutputStream: void write(byte[])>(v);
virtualinvoke v.<java.io.DataOutputStream: void flush()>();
v = newarray (byte)[4];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
v = (int) -20;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putInt(int)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer position(int)>(0);
virtualinvoke v.<java.nio.channels.SocketChannel: int write(java.nio.ByteBuffer)>(v);
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
label:
v = 0;
label:
if v >= 100 goto label;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer position(int)>(0);
virtualinvoke v.<java.nio.channels.SocketChannel: int write(java.nio.ByteBuffer)>(v);
v = v + 1;
goto label;
label:
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Socket has not been closed");
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Socket has been closed as expected");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void halt()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener listener>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: boolean isAlive()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
return;
catch java.lang.Exception from label to label with label;
}
public void testCnxManagerListenerThreadConfigurableRetry() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.HashMap v;
java.lang.Runnable v;
java.lang.Long v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
java.lang.String v, v;
boolean v, v, v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
java.io.File v, v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener v;
org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer v;
java.lang.Class v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(1L);
v = new org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: void <init>(long,java.lang.String)>(1L, "unresolvable-domain.org:2182:2183;2181");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
v = staticinvoke <org.apache.zookeeper.test.ClientBase: java.io.File createTmpDir()>();
v = staticinvoke <org.apache.zookeeper.test.ClientBase: java.io.File createTmpDir()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,int,long,int,int,int,int)>(v, v, v, 2181, 3, 1L, 1000, 2, 2, 2);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumCnxManager createCnxnManager()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener listener>;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v = staticinvoke <org.apache.zookeeper.server.quorum.CnxManagerTest$lambda_testCnxManagerListenerThreadConfigurableRetry_0__182: java.lang.Runnable bootstrap$(java.util.concurrent.atomic.AtomicBoolean)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: void setSocketBindErrorHandler(java.lang.Runnable)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: void start()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: void join(long)>(15000L);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: boolean isAlive()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: boolean isAlive()>();
v = class "Lorg/apache/zookeeper/server/quorum/QuorumPeer;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
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 not stopped after listener thread death");
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean,java.lang.String)>(v, v);
return;
}
public void testCnxManagerNPE() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte[] v, v;
java.lang.Integer v;
java.nio.ByteBuffer v, v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$Message v;
java.nio.channels.SocketChannel v;
int[] v;
java.lang.Long v, v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType v;
java.util.Map v, v, v;
boolean v;
java.net.InetSocketAddress v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener v, v;
java.net.Socket v;
long v;
int v, v;
org.slf4j.Logger v, v;
java.io.File v, v;
java.util.concurrent.TimeUnit v;
org.apache.zookeeper.server.quorum.MultipleAddresses v;
java.lang.Object v, v;
java.io.File[] v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(2L);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = <org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType OBSERVER>;
v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.QuorumPeer$LearnerType type> = v;
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = v[1];
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,int,long,int,int,int,int)>(v, v, v, v, 3, 1L, 1000, 2, 2, 2);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumCnxManager createCnxnManager()>();
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()>();
goto label;
label:
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("Null listener when initializing cnx manager");
label:
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
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);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses electionAddr>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.net.InetSocketAddress getReachableOrOne()>();
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Election port: {}", v);
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
v = staticinvoke <java.nio.channels.SocketChannel: java.nio.channels.SocketChannel open()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
virtualinvoke v.<java.net.Socket: void connect(java.net.SocketAddress,int)>(v, 5000);
v = newarray (byte)[8];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putLong(long)>(2L);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer position(int)>(0);
virtualinvoke v.<java.nio.channels.SocketChannel: int write(java.nio.ByteBuffer)>(v);
v = newarray (byte)[8];
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putInt(int)>(4);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer putInt(int)>(5);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer position(int)>(0);
virtualinvoke v.<java.nio.channels.SocketChannel: int write(java.nio.ByteBuffer)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: org.apache.zookeeper.server.quorum.QuorumCnxManager$Message pollRecvQueue(long,java.util.concurrent.TimeUnit)>(1000L, v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertNotNull(java.lang.Object)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void halt()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener listener>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: boolean isAlive()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
return;
}
public void testSocketTimeout() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.lang.Integer v;
byte v;
int[] v;
java.lang.Long v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
java.util.Map v, v;
boolean v;
java.net.InetSocketAddress v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener v, v;
java.net.Socket v;
long v, v, v, v;
int v, v, v, v, v, v;
org.slf4j.Logger v, v;
java.io.File v, v;
org.apache.zookeeper.server.quorum.MultipleAddresses v;
java.lang.Object v;
java.io.File[] v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[1];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = v[1];
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,int,long,int,int,int,int)>(v, v, v, v, 3, 1L, 2000, 2, 2, 2);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumCnxManager createCnxnManager()>();
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()>();
goto label;
label:
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("Null listener when initializing cnx manager");
label:
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
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);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses electionAddr>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.net.InetSocketAddress getReachableOrOne()>();
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Election port: {}", v);
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
v = new java.net.Socket;
specialinvoke v.<java.net.Socket: void <init>()>();
virtualinvoke v.<java.net.Socket: void connect(java.net.SocketAddress,int)>(v, 5000);
v = staticinvoke <org.apache.zookeeper.common.Time: long currentElapsedTime()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void receiveConnection(java.net.Socket)>(v);
v = staticinvoke <org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = v - v;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getSyncLimit()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getTickTime()>();
v = v * v;
v = v + 500;
v = v cmp v;
if v <= 0 goto label;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Waited more than necessary");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: void halt()>();
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener listener>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener: boolean isAlive()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
return;
}
public void testSSLSocketClosedWhenHandshakeTimeout() throws java.lang.Exception
{
int[] v;
java.lang.Long v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
java.util.Map v, v;
int v;
org.apache.zookeeper.server.quorum.CnxManagerTest$1 v;
boolean v;
org.apache.zookeeper.server.quorum.CnxManagerTest$2 v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
java.io.File v, v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.CountDownLatch v;
org.apache.zookeeper.server.quorum.MultipleAddresses v;
java.lang.Object v;
java.io.File[] v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v = new java.util.concurrent.CountDownLatch;
specialinvoke v.<java.util.concurrent.CountDownLatch: void <init>(int)>(1);
v = new org.apache.zookeeper.server.quorum.CnxManagerTest$1;
specialinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest$1: void <init>(org.apache.zookeeper.server.quorum.CnxManagerTest,java.util.concurrent.CountDownLatch)>(v, v);
v = new org.apache.zookeeper.server.quorum.CnxManagerTest$2;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[0];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[0];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = v[0];
specialinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest$2: void <init>(org.apache.zookeeper.server.quorum.CnxManagerTest,java.util.Map,java.io.File,java.io.File,int,int,long,int,int,int,int,org.apache.zookeeper.common.QuorumX509Util)>(v, v, v, v, v, 3, 0L, 2000, 2, 2, 2, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setSslQuorum(boolean)>(1);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumCnxManager createCnxnManager()>();
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(1L);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: org.apache.zookeeper.server.quorum.MultipleAddresses electionAddr>;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: boolean connectOne(long,org.apache.zookeeper.server.quorum.MultipleAddresses)>(1L, v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<java.util.concurrent.CountDownLatch: boolean await(long,java.util.concurrent.TimeUnit)>(1L, v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
return;
}
public void testWorkerThreads() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v;
java.lang.Integer v, v;
int[] v, v;
java.lang.Long v, v, v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
java.util.Map v, v;
boolean v, v;
java.lang.Throwable v;
long v, v, v;
java.util.ArrayList v;
int v, v, v, v, v;
java.lang.String v, v, v;
org.slf4j.Logger v, v, v;
java.util.Iterator v, v;
java.io.File v, v, v, v;
java.lang.Object v, v, v;
java.io.File[] v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
label:
v = 0;
label:
if v >= 3 goto label;
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[v];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[v];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = v[v];
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,int,long,int,int,int,int)>(v, v, v, v, 3, v, 1000, 2, 2, 2);
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Starting peer {}", v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void start()>();
virtualinvoke v.<java.util.ArrayList: void add(int,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.lang.String verifyThreadCount(java.util.ArrayList,long)>(v, 4L);
staticinvoke <org.junit.jupiter.api.Assertions: void assertNull(java.lang.Object,java.lang.String)>(v, v);
v = 0;
label:
if v >= 3 goto label;
v = 0;
label:
if v >= 5 goto label;
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object get(int)>(v);
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(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.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Round {}, halting peer {}", v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
virtualinvoke v.<java.util.ArrayList: java.lang.Object remove(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.lang.String verifyThreadCount(java.util.ArrayList,long)>(v, 2L);
staticinvoke <org.junit.jupiter.api.Assertions: void assertNull(java.lang.Object,java.lang.String)>(v, v);
v = new org.apache.zookeeper.server.quorum.QuorumPeer;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.util.Map peers>;
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[v];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.io.File[] peerTmpdir>;
v = v[v];
v = v.<org.apache.zookeeper.server.quorum.CnxManagerTest: int[] peerClientPort>;
v = v[v];
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void <init>(java.util.Map,java.io.File,java.io.File,int,int,long,int,int,int,int)>(v, v, v, v, 3, v, 1000, 2, 2, 2);
v = <org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(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.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Round {}, restarting peer {}", v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void start()>();
virtualinvoke v.<java.util.ArrayList: void add(int,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.lang.String verifyThreadCount(java.util.ArrayList,long)>(v, 4L);
staticinvoke <org.junit.jupiter.api.Assertions: void assertNull(java.lang.Object,java.lang.String)>(v, v);
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
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()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
goto label;
label:
v := @caughtexception;
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()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
goto label;
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String verifyThreadCount(java.util.ArrayList, long) throws java.lang.InterruptedException
{
org.apache.zookeeper.server.quorum.CnxManagerTest v;
int v;
long v;
java.lang.String v;
java.util.ArrayList v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v := @parameter: java.util.ArrayList;
v := @parameter: long;
v = null;
v = 0;
label:
if v >= 480 goto label;
staticinvoke <java.lang.Thread: void sleep(long)>(500L);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.lang.String _verifyThreadCount(java.util.ArrayList,long)>(v, v);
if v != null goto label;
return null;
label:
v = v + 1;
goto label;
label:
return v;
}
public java.lang.String _verifyThreadCount(java.util.ArrayList, long)
{
java.util.Date v;
long v, v;
org.apache.zookeeper.server.quorum.QuorumCnxManager v;
java.util.ArrayList v;
byte v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
int v, v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v := @parameter: java.util.ArrayList;
v := @parameter: long;
v = 0;
label:
v = virtualinvoke v.<java.util.ArrayList: int size()>();
if v >= v goto label;
v = virtualinvoke v.<java.util.ArrayList: java.lang.Object get(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumCnxManager getQuorumCnxManager()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager: long getThreadCount()>();
v = v cmp v;
if v == 0 goto label;
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.Date,int,long,long)>(v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u Incorrect number of Worker threads for sid=\u expected \u found \u0001");
return v;
label:
v = v + 1;
goto label;
label:
return null;
}
public void testInitialMessage() throws java.lang.Exception
{
byte[] v, v, v, v, v, v, v, v, v, v;
java.io.DataOutputStream v, v, v, v, v;
java.lang.Long v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.CnxManagerTest v;
java.lang.Throwable v, v, v, v, v;
java.io.ByteArrayOutputStream v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
java.io.ByteArrayInputStream v, v, v, v, v;
org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage v, v;
java.net.InetSocketAddress v, v, v, v;
java.util.List v, v, v, v;
java.net.InetSocketAddress[] v, v;
java.io.DataInputStream v, v, v, v, v;
int v, v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
label:
v = "10.0.0.2:3888";
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
v = new java.io.DataOutputStream;
specialinvoke v.<java.io.DataOutputStream: void <init>(java.io.OutputStream)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeLong(long)>(5L);
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeBytes(java.lang.String)>("10.0.0.2:3888");
v = new java.io.DataInputStream;
v = new java.io.ByteArrayInputStream;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
specialinvoke v.<java.io.DataInputStream: void <init>(java.io.InputStream)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(-65530L);
staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage parse(java.lang.Long,java.io.DataInputStream)>(v, v);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("bad protocol version accepted");
label:
goto label;
label:
v := @caughtexception;
label:
v = specialinvoke v.<org.apache.zookeeper.server.quorum.CnxManagerTest: java.lang.String createLongString(int)>(1048576);
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
v = new java.io.DataOutputStream;
specialinvoke v.<java.io.DataOutputStream: void <init>(java.io.OutputStream)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeLong(long)>(5L);
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeBytes(java.lang.String)>(v);
v = new java.io.DataInputStream;
v = new java.io.ByteArrayInputStream;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
specialinvoke v.<java.io.DataInputStream: void <init>(java.io.InputStream)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(-65536L);
staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage parse(java.lang.Long,java.io.DataInputStream)>(v, v);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("long message accepted");
label:
goto label;
label:
v := @caughtexception;
label:
v = "what\'s going on here?";
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
v = new java.io.DataOutputStream;
specialinvoke v.<java.io.DataOutputStream: void <init>(java.io.OutputStream)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeLong(long)>(5L);
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeBytes(java.lang.String)>("what\'s going on here?");
v = new java.io.DataInputStream;
v = new java.io.ByteArrayInputStream;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
specialinvoke v.<java.io.DataInputStream: void <init>(java.io.InputStream)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(-65536L);
staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage parse(java.lang.Long,java.io.DataInputStream)>(v, v);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("bad hostport accepted");
label:
goto label;
label:
v := @caughtexception;
label:
v = "10.0.0.2:3888";
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
v = new java.io.DataOutputStream;
specialinvoke v.<java.io.DataOutputStream: void <init>(java.io.OutputStream)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeLong(long)>(5L);
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeBytes(java.lang.String)>("10.0.0.2:3888");
v = new java.io.DataInputStream;
v = new java.io.ByteArrayInputStream;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
specialinvoke v.<java.io.DataInputStream: void <init>(java.io.InputStream)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(-65536L);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage parse(java.lang.Long,java.io.DataInputStream)>(v, v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(5L);
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: java.lang.Long sid>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Long,java.lang.Long)>(v, v);
v = newarray (java.net.InetSocketAddress)[1];
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>("10.0.0.2", 3888);
v[0] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: java.util.List electionAddr>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException: java.lang.String toString()>();
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>(v);
label:
v = "1.1.1.1:9999|2.2.2.2:8888|3.3.3.3:7777";
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
v = new java.io.DataOutputStream;
specialinvoke v.<java.io.DataOutputStream: void <init>(java.io.OutputStream)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeLong(long)>(5L);
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
virtualinvoke v.<java.io.DataOutputStream: void writeBytes(java.lang.String)>("1.1.1.1:9999|2.2.2.2:8888|3.3.3.3:7777");
v = new java.io.DataInputStream;
v = new java.io.ByteArrayInputStream;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
specialinvoke v.<java.io.DataInputStream: void <init>(java.io.InputStream)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(-65535L);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage parse(java.lang.Long,java.io.DataInputStream)>(v, v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(5L);
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: java.lang.Long sid>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Long,java.lang.Long)>(v, v);
v = newarray (java.net.InetSocketAddress)[3];
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>("1.1.1.1", 9999);
v[0] = v;
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>("2.2.2.2", 8888);
v[1] = v;
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>("3.3.3.3", 7777);
v[2] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: java.util.List electionAddr>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException: java.lang.String toString()>();
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>(v);
label:
return;
catch org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException from label to label with label;
catch org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException from label to label with label;
catch org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException from label to label with label;
catch org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException from label to label with label;
catch org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException from label to label with label;
}
public void testWildcardAddressRecognition()
{
org.apache.zookeeper.server.quorum.CnxManagerTest v;
boolean v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: boolean isWildcardAddress(java.lang.String)>("0.0.0.0");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: boolean isWildcardAddress(java.lang.String)>("::");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: boolean isWildcardAddress(java.lang.String)>("some.unresolvable.host.com");
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: boolean isWildcardAddress(java.lang.String)>("127.0.0.1");
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: boolean isWildcardAddress(java.lang.String)>("255.255.255.255");
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: boolean isWildcardAddress(java.lang.String)>("1.2.3.4");
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage: boolean isWildcardAddress(java.lang.String)>("www.google.com");
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
return;
}
private java.lang.String createLongString(int)
{
org.apache.zookeeper.server.quorum.CnxManagerTest v;
int v, v;
java.lang.StringBuilder v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.CnxManagerTest;
v := @parameter: int;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
v = 0;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(120);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/test/FLENewEpochTest;");
<org.apache.zookeeper.server.quorum.CnxManagerTest: org.slf4j.Logger LOG> = v;
return;
}
}