public class org.apache.zookeeper.server.quorum.Zab1_0Test extends org.apache.zookeeper.ZKTestCase
{
private static final org.slf4j.Logger LOG;
private static final java.io.File testData;
public void <init>()
{
org.apache.zookeeper.server.quorum.Zab1_0Test v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
specialinvoke v.<org.apache.zookeeper.ZKTestCase: void <init>()>();
return;
}
public void setUp()
{
org.apache.zookeeper.server.quorum.Zab1_0Test v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.admin.enableServer", "false");
return;
}
public void testLeaderInConnectingFollowers() throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
long v, v, v;
int v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread v, v;
java.io.File v, v;
java.lang.Exception v;
org.apache.zookeeper.server.quorum.Leader v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = <org.apache.zookeeper.server.quorum.Zab1_0Test: java.io.File testData>;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>("test", "dir", v);
virtualinvoke v.<java.io.File: boolean delete()>();
virtualinvoke v.<java.io.File: boolean mkdir()>();
v = null;
label:
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.QuorumPeer createQuorumPeer(java.io.File)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.Leader createLeader(java.io.File,org.apache.zookeeper.server.quorum.QuorumPeer)>(v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader> = v;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setAcceptedEpoch(long)>(5L);
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void <init>(long,org.apache.zookeeper.server.quorum.Leader,boolean)>(1L, v, 1);
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void <init>(long,org.apache.zookeeper.server.quorum.Leader,boolean)>(2L, v, 1);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void start()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void start()>();
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getInitLimit()>();
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getTickTime()>();
v = v * v;
v = v + 5000;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void join(long)>(v);
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getInitLimit()>();
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getTickTime()>();
v = v * v;
v = v + 5000;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void join(long)>(v);
label:
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getMyId()>();
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getAcceptedEpoch()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: long getEpochToPropose(long,long)>(v, v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(long,long,java.lang.String)>(6L, v, "leader got wrong epoch from getEpochToPropose");
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("leader timed out in getEpochToPropose");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
label:
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void testLastAcceptedEpoch() throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
long v, v;
java.io.File v, v;
java.lang.Exception v;
org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread v, v;
org.apache.zookeeper.server.quorum.Leader v;
byte v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = <org.apache.zookeeper.server.quorum.Zab1_0Test: java.io.File testData>;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>("test", "dir", v);
virtualinvoke v.<java.io.File: boolean delete()>();
virtualinvoke v.<java.io.File: boolean mkdir()>();
v = null;
v = null;
label:
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.QuorumPeer createQuorumPeer(java.io.File)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.Leader createMockLeader(java.io.File,org.apache.zookeeper.server.quorum.QuorumPeer)>(v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader> = v;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setAcceptedEpoch(long)>(5L);
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void <init>(org.apache.zookeeper.server.quorum.Leader)>(v);
v = v;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void start()>();
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.ZabUtils$MockLeader: long getCurrentEpochToPropose()>();
v = v cmp 6L;
if v == 0 goto label;
staticinvoke <java.lang.Thread: void sleep(long)>(20L);
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: long getEpochToPropose(long,long)>(1L, 6L);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(long,long,java.lang.String)>(7L, v, "New proposed epoch is wrong");
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Timed out in getEpochToPropose");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void interrupt()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void join()>();
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
label:
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void interrupt()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void join()>();
label:
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void testLeaderInElectingFollowers() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
boolean v, v;
org.apache.zookeeper.server.quorum.StateSummary v;
org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread v, v;
java.lang.Throwable v;
long v, v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v;
java.io.File v, v;
org.apache.zookeeper.server.quorum.LeaderZooKeeperServer v;
org.apache.zookeeper.server.quorum.Leader v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = <org.apache.zookeeper.server.quorum.Zab1_0Test: java.io.File testData>;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>("test", "dir", v);
virtualinvoke v.<java.io.File: boolean delete()>();
virtualinvoke v.<java.io.File: boolean mkdir()>();
v = null;
label:
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.QuorumPeer createQuorumPeer(java.io.File)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.Leader createLeader(java.io.File,org.apache.zookeeper.server.quorum.QuorumPeer)>(v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader> = v;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void <init>(long,org.apache.zookeeper.server.quorum.Leader,boolean)>(1L, v, 0);
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void <init>(long,org.apache.zookeeper.server.quorum.Leader,boolean)>(2L, v, 0);
v = new org.apache.zookeeper.server.quorum.StateSummary;
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getCurrentEpoch()>();
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.LeaderZooKeeperServer zk>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderZooKeeperServer: long getLastProcessedZxid()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.StateSummary: void <init>(long,long)>(v, v);
v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.StateSummary leaderStateSummary> = v;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void start()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void start()>();
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getInitLimit()>();
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getTickTime()>();
v = v * v;
v = v + 5000;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void join(long)>(v);
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getInitLimit()>();
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.QuorumPeer self>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getTickTime()>();
v = v * v;
v = v + 5000;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: void join(long)>(v);
v = v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: java.lang.String msg>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: java.lang.String msg>;
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 without waiting for leader");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, v);
v = v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: java.lang.String msg>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerMockThread: java.lang.String msg>;
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 without waiting for leader");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
label:
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
static java.net.Socket[] getSocketPair() throws java.io.IOException
{
java.net.Socket v, v;
java.net.SocketAddress v;
java.net.InetAddress v, v;
java.net.ServerSocket v;
java.net.Socket[] v;
int v;
v = new java.net.ServerSocket;
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getByName(java.lang.String)>("127.0.0.1");
specialinvoke v.<java.net.ServerSocket: void <init>(int,int,java.net.InetAddress)>(0, 50, v);
v = virtualinvoke v.<java.net.ServerSocket: java.net.SocketAddress getLocalSocketAddress()>();
v = new java.net.Socket;
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
specialinvoke v.<java.net.Socket: void <init>(java.net.InetAddress,int)>(v, v);
v = newarray (java.net.Socket)[2];
v[0] = v;
v = virtualinvoke v.<java.net.ServerSocket: java.net.Socket accept()>();
v[1] = v;
return v;
}
static void readPacketSkippingPing(org.apache.jute.InputArchive, org.apache.zookeeper.server.quorum.QuorumPacket) throws java.io.IOException
{
int v;
org.apache.jute.InputArchive v;
org.apache.zookeeper.server.quorum.QuorumPacket v;
v := @parameter: org.apache.jute.InputArchive;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPacket;
label:
interfaceinvoke v.<org.apache.jute.InputArchive: void readRecord(org.apache.jute.Record,java.lang.String)>(v, null);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPacket: int getType()>();
if v == 5 goto label;
return;
}
public void testLeaderConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$LeaderConversation) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.jute.BinaryOutputArchive v;
java.net.Socket v, v;
java.io.BufferedInputStream v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.quorum.Zab1_0Test$LeaderConversation v;
org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread v, v;
java.net.Socket[] v;
org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor v, v;
boolean v;
java.io.OutputStream v;
java.io.File v, v;
org.apache.jute.BinaryInputArchive v;
org.apache.zookeeper.server.quorum.LearnerHandler v;
org.apache.zookeeper.server.quorum.Leader v;
java.io.InputStream v, v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v := @parameter: org.apache.zookeeper.server.quorum.Zab1_0Test$LeaderConversation;
v = staticinvoke <org.apache.zookeeper.server.quorum.Zab1_0Test: java.net.Socket[] getSocketPair()>();
v = v[0];
v = v[1];
v = <org.apache.zookeeper.server.quorum.Zab1_0Test: java.io.File testData>;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>("test", "dir", v);
virtualinvoke v.<java.io.File: boolean delete()>();
virtualinvoke v.<java.io.File: boolean mkdir()>();
v = null;
v = null;
label:
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.QuorumPeer createQuorumPeer(java.io.File)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.Leader createLeader(java.io.File,org.apache.zookeeper.server.quorum.QuorumPeer)>(v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader> = v;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void <init>(org.apache.zookeeper.server.quorum.Leader)>(v);
v = v;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void start()>();
label:
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor: boolean isAlive()>();
if v != 0 goto label;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(20L);
goto label;
label:
v = new org.apache.zookeeper.server.quorum.LearnerHandler;
v = new java.io.BufferedInputStream;
v = virtualinvoke v.<java.net.Socket: java.io.InputStream getInputStream()>();
specialinvoke v.<java.io.BufferedInputStream: void <init>(java.io.InputStream)>(v);
specialinvoke v.<org.apache.zookeeper.server.quorum.LearnerHandler: void <init>(java.net.Socket,java.io.BufferedInputStream,org.apache.zookeeper.server.quorum.LearnerMaster)>(v, v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.LearnerHandler: void start()>();
virtualinvoke v.<java.net.Socket: void setSoTimeout(int)>(4000);
v = virtualinvoke v.<java.net.Socket: java.io.InputStream getInputStream()>();
v = staticinvoke <org.apache.jute.BinaryInputArchive: org.apache.jute.BinaryInputArchive getArchive(java.io.InputStream)>(v);
v = virtualinvoke v.<java.net.Socket: java.io.OutputStream getOutputStream()>();
v = staticinvoke <org.apache.jute.BinaryOutputArchive: org.apache.jute.BinaryOutputArchive getArchive(java.io.OutputStream)>(v);
interfaceinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeaderConversation: void converseWithLeader(org.apache.jute.InputArchive,org.apache.jute.OutputArchive,org.apache.zookeeper.server.quorum.Leader)>(v, v, v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void interrupt()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void join()>();
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
label:
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void interrupt()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void join()>();
label:
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void testPopulatedLeaderConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$PopulatedLeaderConversation, int) throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte[] v, v;
org.apache.jute.BinaryOutputArchive v;
java.io.BufferedInputStream v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.data.Stat v;
org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread v, v;
byte v;
org.apache.zookeeper.txn.CreateTxn v;
boolean v, v, v;
java.util.concurrent.ConcurrentHashMap v;
org.apache.zookeeper.server.quorum.LearnerHandler v;
java.lang.Throwable v;
java.net.Socket v, v;
org.apache.zookeeper.server.ZKDatabase v;
long v, v;
java.util.ArrayList v;
java.net.Socket[] v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
int v, v, v, v;
java.lang.String v, v, v;
org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor v, v;
java.io.OutputStream v;
org.apache.zookeeper.txn.TxnHeader v;
java.io.File v, v;
org.apache.jute.BinaryInputArchive v;
org.apache.zookeeper.server.quorum.Leader v;
org.apache.zookeeper.server.DataTree v;
org.apache.zookeeper.server.quorum.Zab1_0Test$PopulatedLeaderConversation v;
java.io.InputStream v, v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v := @parameter: org.apache.zookeeper.server.quorum.Zab1_0Test$PopulatedLeaderConversation;
v := @parameter: int;
v = staticinvoke <org.apache.zookeeper.server.quorum.Zab1_0Test: java.net.Socket[] getSocketPair()>();
v = v[0];
v = v[1];
v = <org.apache.zookeeper.server.quorum.Zab1_0Test: java.io.File testData>;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>("test", "dir", v);
virtualinvoke v.<java.io.File: boolean delete()>();
virtualinvoke v.<java.io.File: boolean mkdir()>();
v = null;
v = null;
label:
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
v = new org.apache.zookeeper.server.ZKDatabase;
specialinvoke v.<org.apache.zookeeper.server.ZKDatabase: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
if v < 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = staticinvoke <org.apache.zookeeper.server.util.ZxidUtils: long makeZxid(long,long)>(1L, 0L);
v = 1;
label:
if v > v goto label;
v = staticinvoke <org.apache.zookeeper.server.util.ZxidUtils: long makeZxid(long,long)>(1L, v);
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[])>("/foo-\u0001");
v = new org.apache.zookeeper.txn.TxnHeader;
v = 1000 + v;
v = 30 + v;
specialinvoke v.<org.apache.zookeeper.txn.TxnHeader: void <init>(long,int,long,long,int)>(13L, v, v, v, 1);
v = new org.apache.zookeeper.txn.CreateTxn;
v = "fpjwasalsohere";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
specialinvoke v.<org.apache.zookeeper.txn.CreateTxn: void <init>(java.lang.String,byte[],java.util.List,boolean,int)>(v, v, v, 0, 1);
virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: org.apache.zookeeper.server.DataTree$ProcessTxnResult processTxn(org.apache.zookeeper.txn.TxnHeader,org.apache.jute.Record,org.apache.zookeeper.txn.TxnDigest)>(v, v, null);
v = new org.apache.zookeeper.data.Stat;
specialinvoke v.<org.apache.zookeeper.data.Stat: void <init>()>();
v = new java.lang.String;
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: byte[] getData(java.lang.String,org.apache.zookeeper.data.Stat,org.apache.zookeeper.Watcher)>(v, v, null);
specialinvoke v.<java.lang.String: void <init>(byte[])>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("fpjwasalsohere", v);
v = v + 1;
goto label;
label:
v = staticinvoke <org.apache.zookeeper.server.util.ZxidUtils: long makeZxid(long,long)>(1L, 0L);
v = v cmp v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: org.apache.zookeeper.server.DataTree getDataTree()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: java.util.concurrent.ConcurrentHashMap getSessionWithTimeOuts()>();
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: java.io.File save(org.apache.zookeeper.server.DataTree,java.util.concurrent.ConcurrentHashMap,boolean)>(v, v, 0);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void close()>();
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.QuorumPeer createQuorumPeer(java.io.File)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.Leader createLeader(java.io.File,org.apache.zookeeper.server.quorum.QuorumPeer)>(v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader> = v;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setAcceptedEpoch(long)>(1L);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setCurrentEpoch(long)>(1L);
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void <init>(org.apache.zookeeper.server.quorum.Leader)>(v);
v = v;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void start()>();
label:
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.quorum.Leader: org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor cnxAcceptor>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader$LearnerCnxAcceptor: boolean isAlive()>();
if v != 0 goto label;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(20L);
goto label;
label:
v = new org.apache.zookeeper.server.quorum.LearnerHandler;
v = new java.io.BufferedInputStream;
v = virtualinvoke v.<java.net.Socket: java.io.InputStream getInputStream()>();
specialinvoke v.<java.io.BufferedInputStream: void <init>(java.io.InputStream)>(v);
specialinvoke v.<org.apache.zookeeper.server.quorum.LearnerHandler: void <init>(java.net.Socket,java.io.BufferedInputStream,org.apache.zookeeper.server.quorum.LearnerMaster)>(v, v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.LearnerHandler: void start()>();
virtualinvoke v.<java.net.Socket: void setSoTimeout(int)>(4000);
v = virtualinvoke v.<java.net.Socket: java.io.InputStream getInputStream()>();
v = staticinvoke <org.apache.jute.BinaryInputArchive: org.apache.jute.BinaryInputArchive getArchive(java.io.InputStream)>(v);
v = virtualinvoke v.<java.net.Socket: java.io.OutputStream getOutputStream()>();
v = staticinvoke <org.apache.jute.BinaryOutputArchive: org.apache.jute.BinaryOutputArchive getArchive(java.io.OutputStream)>(v);
interfaceinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$PopulatedLeaderConversation: void converseWithLeader(org.apache.jute.InputArchive,org.apache.jute.OutputArchive,org.apache.zookeeper.server.quorum.Leader,long)>(v, v, v, v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void interrupt()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void join()>();
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: void shutdown(java.lang.String)>("end of test");
label:
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void interrupt()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$LeadThread: void join()>();
label:
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void testFollowerConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerConversation) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.jute.BinaryOutputArchive v;
java.net.Socket v;
java.net.SocketAddress v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerConversation v;
org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableFollower v;
java.net.InetAddress v;
java.net.ServerSocket v;
org.apache.zookeeper.server.quorum.Zab1_0Test$1 v, v;
java.io.OutputStream v;
java.io.File v, v;
org.apache.jute.BinaryInputArchive v;
org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer v;
java.io.InputStream v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v := @parameter: org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerConversation;
v = <org.apache.zookeeper.server.quorum.Zab1_0Test: java.io.File testData>;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>("test", "dir", v);
virtualinvoke v.<java.io.File: boolean delete()>();
virtualinvoke v.<java.io.File: boolean mkdir()>();
v = null;
v = null;
v = null;
label:
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.QuorumPeer createQuorumPeer(java.io.File)>(v);
v = specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableFollower createFollower(java.io.File,org.apache.zookeeper.server.quorum.QuorumPeer)>(v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower> = v;
v = new java.net.ServerSocket;
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getByName(java.lang.String)>("127.0.0.1");
specialinvoke v.<java.net.ServerSocket: void <init>(int,int,java.net.InetAddress)>(0, 50, v);
v = new org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer;
v = virtualinvoke v.<java.net.ServerSocket: java.net.SocketAddress getLocalSocketAddress()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: void <init>(long,java.net.InetSocketAddress)>(1L, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableFollower: void setLeaderQuorumServer(org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer)>(v);
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$1;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$1: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test,org.apache.zookeeper.server.quorum.Follower)>(v, v);
v = v;
virtualinvoke v.<java.lang.Thread: void start()>();
v = virtualinvoke v.<java.net.ServerSocket: java.net.Socket accept()>();
v = virtualinvoke v.<java.net.Socket: java.io.InputStream getInputStream()>();
v = staticinvoke <org.apache.jute.BinaryInputArchive: org.apache.jute.BinaryInputArchive getArchive(java.io.InputStream)>(v);
v = virtualinvoke v.<java.net.Socket: java.io.OutputStream getOutputStream()>();
v = staticinvoke <org.apache.jute.BinaryOutputArchive: org.apache.jute.BinaryOutputArchive getArchive(java.io.OutputStream)>(v);
interfaceinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerConversation: void converseWithFollower(org.apache.jute.InputArchive,org.apache.jute.OutputArchive,org.apache.zookeeper.server.quorum.Follower)>(v, v, v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableFollower: void shutdown()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
virtualinvoke v.<java.lang.Thread: void join()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableFollower: void shutdown()>();
label:
if v == null goto label;
virtualinvoke v.<java.lang.Thread: void interrupt()>();
virtualinvoke v.<java.lang.Thread: void join()>();
label:
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
label:
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void testObserverConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$ObserverConversation) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.jute.BinaryOutputArchive v;
java.net.Socket v;
java.net.SocketAddress v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
java.net.InetAddress v;
java.net.ServerSocket v;
org.apache.zookeeper.server.quorum.Zab1_0Test$2 v, v;
org.apache.zookeeper.server.quorum.Zab1_0Test$ObserverConversation v;
java.io.OutputStream v;
java.io.File v, v;
org.apache.jute.BinaryInputArchive v;
org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableObserver v;
org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer v;
java.io.InputStream v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v := @parameter: org.apache.zookeeper.server.quorum.Zab1_0Test$ObserverConversation;
v = <org.apache.zookeeper.server.quorum.Zab1_0Test: java.io.File testData>;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>("test", "dir", v);
virtualinvoke v.<java.io.File: boolean delete()>();
virtualinvoke v.<java.io.File: boolean mkdir()>();
v = null;
v = null;
v = null;
label:
v = staticinvoke <org.apache.zookeeper.server.quorum.ZabUtils: org.apache.zookeeper.server.quorum.QuorumPeer createQuorumPeer(java.io.File)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setSyncEnabled(boolean)>(1);
v = specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableObserver createObserver(java.io.File,org.apache.zookeeper.server.quorum.QuorumPeer)>(v, v);
v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Observer observer> = v;
v = new java.net.ServerSocket;
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getByName(java.lang.String)>("127.0.0.1");
specialinvoke v.<java.net.ServerSocket: void <init>(int,int,java.net.InetAddress)>(0, 50, v);
v = new org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer;
v = virtualinvoke v.<java.net.ServerSocket: java.net.SocketAddress getLocalSocketAddress()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer: void <init>(long,java.net.InetSocketAddress)>(1L, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableObserver: void setLeaderQuorumServer(org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer)>(v);
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$2;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$2: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test,org.apache.zookeeper.server.quorum.Observer)>(v, v);
v = v;
virtualinvoke v.<java.lang.Thread: void start()>();
v = virtualinvoke v.<java.net.ServerSocket: java.net.Socket accept()>();
v = virtualinvoke v.<java.net.Socket: java.io.InputStream getInputStream()>();
v = staticinvoke <org.apache.jute.BinaryInputArchive: org.apache.jute.BinaryInputArchive getArchive(java.io.InputStream)>(v);
v = virtualinvoke v.<java.net.Socket: java.io.OutputStream getOutputStream()>();
v = staticinvoke <org.apache.jute.BinaryOutputArchive: org.apache.jute.BinaryOutputArchive getArchive(java.io.OutputStream)>(v);
interfaceinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$ObserverConversation: void converseWithObserver(org.apache.jute.InputArchive,org.apache.jute.OutputArchive,org.apache.zookeeper.server.quorum.Observer)>(v, v, v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableObserver: void shutdown()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
virtualinvoke v.<java.lang.Thread: void join()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableObserver: void shutdown()>();
label:
if v == null goto label;
virtualinvoke v.<java.lang.Thread: void interrupt()>();
virtualinvoke v.<java.lang.Thread: void join()>();
label:
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void shutdown()>();
label:
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void testUnnecessarySnap() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.Zab1_0Test$3 v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$3;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$3: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: void testPopulatedLeaderConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$PopulatedLeaderConversation,int)>(v, 2);
return;
}
public void testNormalFollowerRun() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.Zab1_0Test$4 v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$4;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$4: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: void testFollowerConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerConversation)>(v);
return;
}
public void testNormalFollowerRunWithDiff() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.Zab1_0Test$5 v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$5;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$5: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: void testFollowerConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$FollowerConversation)>(v);
return;
}
public void testNormalRun() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.Zab1_0Test$6 v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$6;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$6: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: void testLeaderConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$LeaderConversation)>(v);
return;
}
public void testTxnTimeout() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.quorum.Zab1_0Test$7 v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$7;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$7: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: void testLeaderConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$LeaderConversation)>(v);
return;
}
private void deserializeSnapshot(org.apache.jute.InputArchive) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.ZKDatabase v;
org.apache.jute.InputArchive v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v := @parameter: org.apache.jute.InputArchive;
v = new org.apache.zookeeper.server.ZKDatabase;
specialinvoke v.<org.apache.zookeeper.server.ZKDatabase: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(null);
virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: void deserializeSnapshot(org.apache.jute.InputArchive)>(v);
v = interfaceinvoke v.<org.apache.jute.InputArchive: java.lang.String readString(java.lang.String)>("signature");
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("BenWasHere", v);
return;
}
public void testNormalObserverRun() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.quorum.Zab1_0Test$8 v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$8;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$8: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: void testObserverConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$ObserverConversation)>(v);
return;
}
public void testLeaderBehind() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.quorum.Zab1_0Test$9 v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$9;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$9: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: void testLeaderConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$LeaderConversation)>(v);
return;
}
public void testAbandonBeforeACKEpoch() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.quorum.Zab1_0Test$10 v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$10;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$10: void <init>(org.apache.zookeeper.server.quorum.Zab1_0Test)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: void testLeaderConversation(org.apache.zookeeper.server.quorum.Zab1_0Test$LeaderConversation)>(v);
return;
}
private org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableFollower createFollower(java.io.File, org.apache.zookeeper.server.quorum.QuorumPeer) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.ZKDatabase v;
org.apache.zookeeper.server.quorum.FollowerZooKeeperServer v;
org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableFollower v;
java.io.File v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v := @parameter: java.io.File;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeer;
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setTxnFactory(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
v = new org.apache.zookeeper.server.ZKDatabase;
specialinvoke v.<org.apache.zookeeper.server.ZKDatabase: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
v = new org.apache.zookeeper.server.quorum.FollowerZooKeeperServer;
specialinvoke v.<org.apache.zookeeper.server.quorum.FollowerZooKeeperServer: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog,org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.ZKDatabase)>(v, v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setZKDatabase(org.apache.zookeeper.server.ZKDatabase)>(v);
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableFollower;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableFollower: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.quorum.FollowerZooKeeperServer)>(v, v);
return v;
}
private org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableObserver createObserver(java.io.File, org.apache.zookeeper.server.quorum.QuorumPeer) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableObserver v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.ZKDatabase v;
java.io.File v;
org.apache.zookeeper.server.quorum.ObserverZooKeeperServer v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v := @parameter: java.io.File;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeer;
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setTxnFactory(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
v = new org.apache.zookeeper.server.ZKDatabase;
specialinvoke v.<org.apache.zookeeper.server.ZKDatabase: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
v = new org.apache.zookeeper.server.quorum.ObserverZooKeeperServer;
specialinvoke v.<org.apache.zookeeper.server.quorum.ObserverZooKeeperServer: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog,org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.ZKDatabase)>(v, v, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setZKDatabase(org.apache.zookeeper.server.ZKDatabase)>(v);
v = new org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableObserver;
specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test$ConversableObserver: void <init>(org.apache.zookeeper.server.quorum.QuorumPeer,org.apache.zookeeper.server.quorum.ObserverZooKeeperServer)>(v, v);
return v;
}
private java.lang.String readContentsOfFile(java.io.File) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.Zab1_0Test v;
java.io.BufferedReader v;
java.io.FileReader v;
java.lang.String v;
java.io.File v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v := @parameter: java.io.File;
v = new java.io.BufferedReader;
v = new java.io.FileReader;
specialinvoke v.<java.io.FileReader: void <init>(java.io.File)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
return v;
}
public void testInitialAcceptedCurrent() throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
org.apache.zookeeper.server.ZKDatabase v;
long v, v, v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
int v, v, v, v;
java.lang.String v, v;
java.util.concurrent.ConcurrentHashMap v;
org.apache.zookeeper.txn.TxnHeader v;
java.io.File v, v, v, v, v;
org.apache.zookeeper.server.Request v;
org.apache.zookeeper.txn.ErrorTxn v;
org.apache.zookeeper.server.DataTree v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v = <org.apache.zookeeper.server.quorum.Zab1_0Test: java.io.File testData>;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>("test", ".dir", v);
virtualinvoke v.<java.io.File: boolean delete()>();
virtualinvoke v.<java.io.File: boolean mkdir()>();
label:
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "version-2");
virtualinvoke v.<java.io.File: boolean mkdir()>();
v = new org.apache.zookeeper.server.DataTree;
specialinvoke v.<org.apache.zookeeper.server.DataTree: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: java.io.File save(org.apache.zookeeper.server.DataTree,java.util.concurrent.ConcurrentHashMap,boolean)>(v, v, 0);
v = staticinvoke <org.apache.zookeeper.server.util.ZxidUtils: long makeZxid(long,long)>(3L, 3L);
v = new org.apache.zookeeper.server.Request;
v = new org.apache.zookeeper.txn.TxnHeader;
v = (int) -1;
specialinvoke v.<org.apache.zookeeper.txn.TxnHeader: void <init>(long,int,long,long,int)>(1L, 1, v, 1L, v);
v = new org.apache.zookeeper.txn.ErrorTxn;
specialinvoke v.<org.apache.zookeeper.txn.ErrorTxn: void <init>(int)>(1);
v = (int) -1;
specialinvoke v.<org.apache.zookeeper.server.Request: void <init>(long,int,int,org.apache.zookeeper.txn.TxnHeader,org.apache.jute.Record,long)>(1L, 1, v, v, v, v);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: boolean append(org.apache.zookeeper.server.Request)>(v);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void commit()>();
v = new org.apache.zookeeper.server.ZKDatabase;
specialinvoke v.<org.apache.zookeeper.server.ZKDatabase: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
v = staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.QuorumPeer testingQuorumPeer()>();
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setZKDatabase(org.apache.zookeeper.server.ZKDatabase)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: void setTxnFactory(org.apache.zookeeper.server.persistence.FileTxnSnapLog)>(v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getLastLoggedZxid()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getAcceptedEpoch()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(long,long)>(3L, v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getCurrentEpoch()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(long,long)>(3L, v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "currentEpoch");
v = specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: java.lang.String readContentsOfFile(java.io.File)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(3, v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "acceptedEpoch");
v = specialinvoke v.<org.apache.zookeeper.server.quorum.Zab1_0Test: java.lang.String readContentsOfFile(java.io.File)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(3, v);
label:
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void assertCurrentEpochGotUpdated(int, org.apache.zookeeper.server.quorum.QuorumPeer, long) throws java.io.IOException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.Zab1_0Test v;
long v, v, v, v;
byte v, v;
java.lang.InterruptedException v;
int v;
v := @this: org.apache.zookeeper.server.quorum.Zab1_0Test;
v := @parameter: int;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeer;
v := @parameter: long;
v = 0L;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getCurrentEpoch()>();
v = v cmp v;
if v == 0 goto label;
v = v cmp v;
if v >= 0 goto label;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(10L);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("CurrentEpoch update failed");
label:
v = v + 10L;
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: long getCurrentEpoch()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(long,long,java.lang.String)>(v, v, "CurrentEpoch update failed");
return;
catch java.lang.InterruptedException from label to label with label;
}
static void <clinit>()
{
java.lang.String v;
org.slf4j.Logger v;
java.io.File v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/server/quorum/Zab1_0Test;");
<org.apache.zookeeper.server.quorum.Zab1_0Test: org.slf4j.Logger LOG> = v;
v = new java.io.File;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("test.data.dir", "src/test/resources/data");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
<org.apache.zookeeper.server.quorum.Zab1_0Test: java.io.File testData> = v;
return;
}
}