public class org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest extends org.apache.zookeeper.server.quorum.QuorumPeerTestBase
{
private static final org.slf4j.Logger LOG;
private static int SERVER_COUNT;
private org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt;
private static boolean bakAsyncSending;
public void <init>()
{
org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest v;
v := @this: org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest;
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerTestBase: void <init>()>();
return;
}
public void setup(boolean)
{
boolean v;
org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest v;
v := @this: org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest;
v := @parameter: boolean;
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.DigestAuthenticationProvider.superDigest", "super:D/InIHSb7yEEbrWz8b9l71RjZJU=");
staticinvoke <org.apache.zookeeper.server.quorum.Learner: void setAsyncSending(boolean)>(v);
staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeerConfig: void setReconfigEnabled(boolean)>(1);
return;
}
public static void saveAsyncSendingFlag()
{
boolean v;
v = staticinvoke <org.apache.zookeeper.server.quorum.Learner: boolean getAsyncSending()>();
<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: boolean bakAsyncSending> = v;
return;
}
public static void resetAsyncSendingFlag()
{
boolean v;
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: boolean bakAsyncSending>;
staticinvoke <org.apache.zookeeper.server.quorum.Learner: void setAsyncSending(boolean)>(v);
return;
}
public void testDuringLeaderSync(boolean) throws java.lang.Exception
{
org.apache.zookeeper.CreateMode v;
org.apache.zookeeper.server.quorum.QuorumPeer v;
byte[] v, v;
org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest$1 v;
byte v;
java.lang.Long v;
java.util.Map v;
org.apache.zookeeper.ZooKeeper v;
java.lang.StringBuilder v, v, v;
org.apache.zookeeper.server.quorum.flexible.QuorumVerifier v;
long v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v, v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.QuorumPeerTestBase$TestQPMain v;
org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread v, v, v, v, v;
java.io.File v;
int[] v;
boolean v, v, v, v, v;
org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest$CustomQuorumPeer v;
org.apache.zookeeper.admin.ZooKeeperAdmin v;
java.lang.String[] v;
org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.Leader v;
org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest v;
java.lang.Object v;
v := @this: org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest;
v := @parameter: boolean;
virtualinvoke v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: void setup(boolean)>(v);
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT>;
v = v + 1;
v = newarray (int)[v];
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT>;
v = v + 1;
v = newarray (java.lang.String)[v];
v = 0;
label:
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT>;
if v >= v goto label;
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
v[v] = v;
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
v = v[v];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,int,int)>(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[])>("server.\u0001=127.0.0.1:\u0001:\u0001:participant;127.0.0.1:\u0001");
v[v] = v;
v = v[v];
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[])>("\u0001\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT>;
v = v + 1;
v = newarray (org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread)[v];
v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt> = v;
v = 0;
label:
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT>;
if v >= v goto label;
v = v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt>;
v = new org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread;
v = v[v];
specialinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread: void <init>(int,int,java.lang.String,boolean)>(v, v, v, 0);
v[v] = v;
v = v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt>;
v = v[v];
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread: void start()>();
v = v + 1;
goto label;
label:
v = 0;
label:
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT>;
if v >= v goto label;
v = v[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[])>("127.0.0.1:\u0001");
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
v = staticinvoke <org.apache.zookeeper.test.ClientBase: boolean waitForServerUp(java.lang.String,long)>(v, 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[])>("waiting for server \u being up");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, v);
v = v + 1;
goto label;
label:
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = new org.apache.zookeeper.admin.ZooKeeperAdmin;
v = v[0];
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[])>("127.0.0.1:\u0001");
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
specialinvoke v.<org.apache.zookeeper.admin.ZooKeeperAdmin: void <init>(java.lang.String,int,org.apache.zookeeper.Watcher)>(v, v, v);
v = "super:test";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<org.apache.zookeeper.admin.ZooKeeperAdmin: void addAuthInfo(java.lang.String,byte[])>("digest", v);
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
virtualinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void waitForConnected(long)>(v);
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT>;
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
v[v] = v;
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
v = v[v];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,int,int)>(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[])>("server.\u0001=127.0.0.1:\u0001:\u0001:participant;127.0.0.1:\u0001");
v[v] = v;
v = (int) -1;
v = v;
v = 0;
label:
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT>;
if v >= v goto label;
v = v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt>;
v = v[v];
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$TestQPMain main>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeerTestBase$TestQPMain: org.apache.zookeeper.server.quorum.QuorumPeer quorumPeer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v == null goto label;
v = v;
goto label;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean)>(v);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = v[v];
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[])>("\u0001\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v[v];
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[])>("\u0001\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt>;
v = new org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest$1;
v = v[v];
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest$1: void <init>(org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest,int,int,java.lang.String,boolean)>(v, v, v, v, 0);
v[v] = v;
v = v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt>;
v = v[v];
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread: void start()>();
v = v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt>;
v = v[v];
v = staticinvoke <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest$CustomQuorumPeer getCustomQuorumPeer(org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest$CustomQuorumPeer: java.lang.String getNextDynamicConfigFilename()>();
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.io.File: boolean delete()>();
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest$CustomQuorumPeer: boolean isNewLeaderMessage()>();
if v == 0 goto label;
v = v[v];
virtualinvoke v.<org.apache.zookeeper.admin.ZooKeeperAdmin: void reconfigure(java.lang.String,java.lang.String,java.lang.String,long,org.apache.zookeeper.AsyncCallback$DataCallback,java.lang.Object)>(v, null, null, -1L, null, null);
goto label;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(10L);
goto label;
label:
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = new org.apache.zookeeper.ZooKeeper;
v = v[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[])>("127.0.0.1:\u0001");
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
specialinvoke v.<org.apache.zookeeper.ZooKeeper: void <init>(java.lang.String,int,org.apache.zookeeper.Watcher)>(v, v, v);
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
virtualinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void waitForConnected(long)>(v);
v = "";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode PERSISTENT>;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: java.lang.String create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode)>("/reconfigIssue", v, v, v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean,java.lang.String)>(v, "zoo.cfg.dynamic.next is not deleted.");
v = 0L;
label:
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT>;
v = v cmp v;
if v > 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest$CustomQuorumPeer: org.apache.zookeeper.server.quorum.flexible.QuorumVerifier getQuorumVerifier()>();
v = interfaceinvoke v.<org.apache.zookeeper.server.quorum.flexible.QuorumVerifier: java.util.Map getVotingMembers()>();
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 = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("server \u is not present in the new quorum");
staticinvoke <org.junit.jupiter.api.Assertions: void assertNotNull(java.lang.Object,java.lang.String)>(v, v);
v = v + 1L;
goto label;
label:
virtualinvoke v.<org.apache.zookeeper.admin.ZooKeeperAdmin: void close()>();
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
return;
}
private static org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest$CustomQuorumPeer getCustomQuorumPeer(org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread)
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread v;
java.lang.InterruptedException v;
v := @parameter: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread: org.apache.zookeeper.server.quorum.QuorumPeer getQuorumPeer()>();
if null == v goto label;
return v;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(10L);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.lang.InterruptedException: void printStackTrace()>();
goto label;
catch java.lang.InterruptedException from label to label with label;
}
public void tearDown()
{
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread v;
org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] v, v, v;
java.lang.InterruptedException v;
org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest v;
int v, v;
v := @this: org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest;
v = v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt>;
if null == v goto label;
v = 0;
label:
v = v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt>;
v = lengthof v;
if v >= v goto label;
label:
v = v.<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread[] mt>;
v = v[v];
virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeerTestBase$MainThread: void shutdown()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Quorum Peer interrupted while shutting it down", v);
label:
v = v + 1;
goto label;
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/server/quorum/ReconfigDuringLeaderSyncTest;");
<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: org.slf4j.Logger LOG> = v;
<org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest: int SERVER_COUNT> = 3;
return;
}
}