public class org.apache.zookeeper.test.FollowerResyncConcurrencyTest extends org.apache.zookeeper.ZKTestCase
{
private static final org.slf4j.Logger LOG;
public static final long CONNECTION_TIMEOUT;
private java.util.concurrent.atomic.AtomicInteger counter;
private java.util.concurrent.atomic.AtomicInteger errors;
private java.util.concurrent.atomic.AtomicInteger pending;
public void <init>()
{
java.util.concurrent.atomic.AtomicInteger v, v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
specialinvoke v.<org.apache.zookeeper.ZKTestCase: void <init>()>();
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(0);
v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger counter> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(0);
v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger errors> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(0);
v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger pending> = v;
return;
}
public void setUp() throws java.lang.Exception
{
java.util.concurrent.atomic.AtomicInteger v, v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger pending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: void set(int)>(0);
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger errors>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: void set(int)>(0);
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger counter>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: void set(int)>(0);
return;
}
public void tearDown() throws java.lang.Exception
{
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
java.lang.Integer v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger errors>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Error count {}", v);
return;
}
public void testLaggingFollowerResyncsUnderNewEpoch() throws java.lang.Exception
{
org.apache.zookeeper.CreateMode v;
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v, v, v, v, v, v, v, v, v, v;
long v, v, v, v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v, v, v;
java.util.ArrayList v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.test.DisconnectableZooKeeper v, v, v, v;
org.apache.zookeeper.data.Stat v, v, v;
boolean 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;
org.slf4j.Logger v, v, v, v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = new org.apache.zookeeper.test.QuorumUtil;
specialinvoke v.<org.apache.zookeeper.test.QuorumUtil: void <init>(int)>(1);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdownAll()>();
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void start(int)>(1);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void start(int)>(2);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(1);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: int clientPort>;
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);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Waiting for server up");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(2);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: int clientPort>;
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);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Waiting for server up");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(1);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
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)>("/resyncundernewepoch", null, v, v);
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdown(int)>(1);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdown(int)>(2);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(1);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: int clientPort>;
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 waitForServerDown(java.lang.String,long)>(v, v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Waiting for server down");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(2);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: int clientPort>;
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 waitForServerDown(java.lang.String,long)>(v, v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Waiting for server down");
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void start(int)>(1);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void start(int)>(2);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(1);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: int clientPort>;
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);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Waiting for server up");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(2);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: int clientPort>;
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);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Waiting for server up");
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void start(int)>(3);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(3);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: int clientPort>;
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);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Waiting for server up");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(1);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: org.apache.zookeeper.data.Stat exists(java.lang.String,boolean)>("/resyncundernewepoch", 0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertNotNull(java.lang.Object,java.lang.String)>(v, "zk has data");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(2);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: org.apache.zookeeper.data.Stat exists(java.lang.String,boolean)>("/resyncundernewepoch", 0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertNotNull(java.lang.Object,java.lang.String)>(v, "zk has data");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(3);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: org.apache.zookeeper.data.Stat exists(java.lang.String,boolean)>("/resyncundernewepoch", 0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertNotNull(java.lang.Object,java.lang.String)>(v, "zk has data");
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdownAll()>();
return;
}
public void testResyncBySnapThenDiffAfterFollowerCrashes() throws java.lang.Throwable
{
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
virtualinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: void followerResyncCrashTest(boolean)>(0);
return;
}
public void testResyncByTxnlogThenDiffAfterFollowerCrashes() throws java.lang.Throwable
{
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
virtualinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: void followerResyncCrashTest(boolean)>(1);
return;
}
public void followerResyncCrashTest(boolean) throws java.lang.Throwable
{
org.apache.zookeeper.CreateMode v, v, v, v;
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v, v, v;
byte[] v;
java.lang.Integer v, v, v, v, v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v, v, v, v, v, v;
byte v, v;
java.lang.Thread v;
org.apache.zookeeper.server.ZKDatabase v, v;
long v, v, v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v, v, v;
java.util.ArrayList v, v, v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
java.lang.String v, v, v;
org.apache.zookeeper.test.DisconnectableZooKeeper v, v, v;
org.apache.zookeeper.server.ZooKeeperServer v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest$1 v;
java.util.concurrent.atomic.AtomicInteger v, v;
boolean v, v, v, v, v;
int v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v, v, v;
java.util.concurrent.Semaphore v;
org.apache.zookeeper.AsyncCallback$StringCallback v, v;
java.util.concurrent.TimeUnit v;
org.apache.zookeeper.server.quorum.Leader v, v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v := @parameter: boolean;
v = new java.util.concurrent.Semaphore;
specialinvoke v.<java.util.concurrent.Semaphore: void <init>(int)>(0);
v = new org.apache.zookeeper.test.QuorumUtil;
specialinvoke v.<org.apache.zookeeper.test.QuorumUtil: void <init>(int)>(1);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = 1;
label:
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v != null goto label;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertNotNull(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: void setSnapshotSizeFactor(double)>(1000.0);
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: void setSnapshotSizeFactor(double)>(-1.0);
label:
if v != 1 goto label;
v = 2;
goto label;
label:
v = 1;
label:
v = v;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Connecting to follower: {}", v);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdown(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(3);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode EPHEMERAL_SEQUENTIAL>;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: java.lang.String create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode)>("/mybar", null, v, v);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void restart(int)>(v);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
v = newarray (byte)[0];
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)>("/first", v, v, v);
v = new java.lang.Thread;
v = new org.apache.zookeeper.test.FollowerResyncConcurrencyTest$1;
specialinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest$1: void <init>(org.apache.zookeeper.test.FollowerResyncConcurrencyTest,org.apache.zookeeper.ZooKeeper,java.util.concurrent.Semaphore)>(v, v, v);
specialinvoke v.<java.lang.Thread: void <init>(java.lang.Runnable)>(v);
v = 0;
label:
if v >= 13000 goto label;
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode EPHEMERAL_SEQUENTIAL>;
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest$lambda_followerResyncCrashTest_0__263: org.apache.zookeeper.AsyncCallback$StringCallback bootstrap$(org.apache.zookeeper.test.FollowerResyncConcurrencyTest,java.util.concurrent.Semaphore)>(v, v);
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode,org.apache.zookeeper.AsyncCallback$StringCallback,java.lang.Object)>("/mybar", null, v, v, v, null);
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger pending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
if v != 5000 goto label;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdown(int)>(v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Shutting down s1");
label:
if v != 12000 goto label;
virtualinvoke v.<java.lang.Thread: void start()>();
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Restarting follower: {}", v);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void restart(int)>(v);
staticinvoke <java.lang.Thread: void sleep(long)>(300L);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Shutdown follower: {}", v);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdown(int)>(v);
staticinvoke <java.lang.Thread: void sleep(long)>(300L);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Restarting follower: {}", v);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void restart(int)>(v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Setting up server: {}", v);
label:
v = v % 1000;
if v != 0 goto label;
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
label:
v = v % 50;
if v != 0 goto label;
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode EPHEMERAL_SEQUENTIAL>;
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest$lambda_followerResyncCrashTest_1__264: org.apache.zookeeper.AsyncCallback$StringCallback bootstrap$(org.apache.zookeeper.test.FollowerResyncConcurrencyTest,java.util.concurrent.Semaphore)>(v, v);
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode,org.apache.zookeeper.AsyncCallback$StringCallback,java.lang.Object)>("/newbaz", null, v, v, v, null);
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger pending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
label:
v = v + 1;
goto label;
label:
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<java.util.concurrent.Semaphore: boolean tryAcquire(long,java.util.concurrent.TimeUnit)>(v, v);
if v != 0 goto label;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Did not aquire semaphore fast enough");
label:
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
virtualinvoke v.<java.lang.Thread: void join(long)>(v);
v = virtualinvoke v.<java.lang.Thread: boolean isAlive()>();
if v == 0 goto label;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("mytestfooThread is still alive");
label:
v = specialinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: boolean waitForPendingRequests(int)>(60);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = specialinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: boolean waitForSync(org.apache.zookeeper.test.QuorumUtil,int,int)>(v, v, 10);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
specialinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: void verifyState(org.apache.zookeeper.test.QuorumUtil,int,org.apache.zookeeper.server.quorum.Leader)>(v, v, v);
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdownAll()>();
return;
}
public void testResyncByDiffAfterFollowerCrashes() throws java.io.IOException, java.lang.InterruptedException, org.apache.zookeeper.KeeperException, java.lang.Throwable
{
org.apache.zookeeper.CreateMode v, v, v, v;
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v;
byte[] v;
java.lang.Integer v, v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v, v, v, v;
byte v, v;
java.lang.Thread v;
long v, v, v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v, v, v;
java.util.ArrayList v, v, v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
java.lang.String v, v, v;
org.apache.zookeeper.test.DisconnectableZooKeeper v, v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest$2 v;
java.util.concurrent.atomic.AtomicInteger v, v;
boolean v, v, v, v;
java.util.concurrent.atomic.AtomicBoolean v;
int v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v;
java.util.concurrent.Semaphore v;
org.apache.zookeeper.AsyncCallback$StringCallback v, v;
java.util.concurrent.TimeUnit v;
org.apache.zookeeper.server.quorum.Leader v, v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v = new java.util.concurrent.Semaphore;
specialinvoke v.<java.util.concurrent.Semaphore: void <init>(int)>(0);
v = new org.apache.zookeeper.test.QuorumUtil;
specialinvoke v.<org.apache.zookeeper.test.QuorumUtil: void <init>(int)>(1);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = 1;
label:
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v != null goto label;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertNotNull(java.lang.Object)>(v);
if v != 1 goto label;
v = 2;
goto label;
label:
v = 1;
label:
v = v;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Connecting to follower: {}", v);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(3);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int,org.apache.zookeeper.test.ClientBase$CountdownWatcher)>(v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("zk has session id 0x{}", v);
v = newarray (byte)[0];
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)>("/first", v, v, v);
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode EPHEMERAL_SEQUENTIAL>;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: java.lang.String create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode)>("/mybar", null, v, v);
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v = new java.lang.Thread;
v = new org.apache.zookeeper.test.FollowerResyncConcurrencyTest$2;
specialinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest$2: void <init>(org.apache.zookeeper.test.FollowerResyncConcurrencyTest,java.util.concurrent.atomic.AtomicBoolean,org.apache.zookeeper.ZooKeeper,java.util.concurrent.Semaphore)>(v, v, v, v);
specialinvoke v.<java.lang.Thread: void <init>(java.lang.Runnable)>(v);
virtualinvoke v.<java.lang.Thread: void start()>();
v = 0;
label:
if v >= 5000 goto label;
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode EPHEMERAL_SEQUENTIAL>;
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest$lambda_testResyncByDiffAfterFollowerCrashes_2__265: org.apache.zookeeper.AsyncCallback$StringCallback bootstrap$(org.apache.zookeeper.test.FollowerResyncConcurrencyTest,java.util.concurrent.Semaphore)>(v, v);
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode,org.apache.zookeeper.AsyncCallback$StringCallback,java.lang.Object)>("/mybar", null, v, v, v, null);
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger pending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
if v != 1000 goto label;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdown(int)>(v);
staticinvoke <java.lang.Thread: void sleep(long)>(1100L);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Shutting down s1");
label:
if v == 1100 goto label;
if v == 1150 goto label;
if v != 1200 goto label;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
if v != 1200 goto label;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startThenShutdown(int)>(v);
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void restart(int)>(v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Setting up server: {}", v);
label:
if v < 1000 goto label;
v = v % 2;
if v != 0 goto label;
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode EPHEMERAL_SEQUENTIAL>;
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest$lambda_testResyncByDiffAfterFollowerCrashes_3__266: org.apache.zookeeper.AsyncCallback$StringCallback bootstrap$(org.apache.zookeeper.test.FollowerResyncConcurrencyTest,java.util.concurrent.Semaphore)>(v, v);
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode,org.apache.zookeeper.AsyncCallback$StringCallback,java.lang.Object)>("/newbaz", null, v, v, v, null);
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger pending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
label:
if v == 1050 goto label;
if v == 1100 goto label;
if v != 1150 goto label;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
label:
v = v + 1;
goto label;
label:
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<java.util.concurrent.Semaphore: boolean tryAcquire(long,java.util.concurrent.TimeUnit)>(v, v);
if v != 0 goto label;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Did not aquire semaphore fast enough");
label:
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
virtualinvoke v.<java.lang.Thread: void join(long)>(v);
v = virtualinvoke v.<java.lang.Thread: boolean isAlive()>();
if v == 0 goto label;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("mytestfooThread is still alive");
label:
v = specialinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: boolean waitForPendingRequests(int)>(60);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = specialinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: boolean waitForSync(org.apache.zookeeper.test.QuorumUtil,int,int)>(v, v, 10);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
specialinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: void verifyState(org.apache.zookeeper.test.QuorumUtil,int,org.apache.zookeeper.server.quorum.Leader)>(v, v, v);
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdownAll()>();
return;
}
private static org.apache.zookeeper.test.DisconnectableZooKeeper createClient(int, org.apache.zookeeper.test.ClientBase$CountdownWatcher) throws java.io.IOException, java.util.concurrent.TimeoutException, java.lang.InterruptedException
{
org.apache.zookeeper.test.DisconnectableZooKeeper v;
int v, v;
long v;
java.lang.String v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v;
v := @parameter: int;
v := @parameter: org.apache.zookeeper.test.ClientBase$CountdownWatcher;
v = new org.apache.zookeeper.test.DisconnectableZooKeeper;
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.test.DisconnectableZooKeeper: void <init>(java.lang.String,int,org.apache.zookeeper.Watcher)>(v, v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: long CONNECTION_TIMEOUT>;
virtualinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void waitForConnected(long)>(v);
return v;
}
private boolean waitForPendingRequests(int) throws java.lang.InterruptedException
{
org.slf4j.Logger v, v;
java.lang.Integer v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
java.util.concurrent.atomic.AtomicInteger v, v, v;
int v, v, v, v, v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v := @parameter: int;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger pending>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Wait for pending requests: {}", v);
v = 0;
label:
if v >= v goto label;
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger pending>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v != 0 goto label;
return 1;
label:
v = v + 1;
goto label;
label:
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: java.util.concurrent.atomic.AtomicInteger pending>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Timeout waiting for pending requests: {}", v);
return 0;
}
private boolean waitForSync(org.apache.zookeeper.test.QuorumUtil, int, int) throws java.lang.InterruptedException
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v;
java.lang.Object[] v;
org.apache.zookeeper.server.ZKDatabase v, v, v;
long v, v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v, v;
byte v, v, v;
int v, v, v;
java.lang.String v, v, v;
org.slf4j.Logger v, v;
org.apache.zookeeper.server.ZooKeeperServer v, v, v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v := @parameter: org.apache.zookeeper.test.QuorumUtil;
v := @parameter: int;
v := @parameter: int;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Wait for server to sync");
if v != 1 goto label;
v = 2;
goto label;
label:
v = 1;
label:
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(3);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = 0L;
v = 0L;
v = 0L;
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: long getDataTreeLastProcessedZxid()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: long getDataTreeLastProcessedZxid()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: long getDataTreeLastProcessedZxid()>();
v = v cmp v;
if v != 0 goto label;
v = v cmp v;
if v != 0 goto label;
return 1;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
v = v + 1;
goto label;
label:
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("Timeout waiting for zxid to sync: leader 0x{} clean 0x{} restarted 0x{}", v);
return 0;
}
private static org.apache.zookeeper.TestableZooKeeper createTestableClient(java.lang.String) throws java.io.IOException, java.util.concurrent.TimeoutException, java.lang.InterruptedException
{
java.lang.String v;
org.apache.zookeeper.TestableZooKeeper v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v;
v := @parameter: java.lang.String;
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.TestableZooKeeper createTestableClient(org.apache.zookeeper.test.ClientBase$CountdownWatcher,java.lang.String)>(v, v);
return v;
}
private static org.apache.zookeeper.TestableZooKeeper createTestableClient(org.apache.zookeeper.test.ClientBase$CountdownWatcher, java.lang.String) throws java.io.IOException, java.util.concurrent.TimeoutException, java.lang.InterruptedException
{
org.apache.zookeeper.TestableZooKeeper v;
int v;
long v;
java.lang.String v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v;
v := @parameter: org.apache.zookeeper.test.ClientBase$CountdownWatcher;
v := @parameter: java.lang.String;
v = new org.apache.zookeeper.TestableZooKeeper;
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
specialinvoke v.<org.apache.zookeeper.TestableZooKeeper: void <init>(java.lang.String,int,org.apache.zookeeper.Watcher)>(v, v, v);
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: long CONNECTION_TIMEOUT>;
virtualinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void waitForConnected(long)>(v);
return v;
}
private void verifyState(org.apache.zookeeper.test.QuorumUtil, int, org.apache.zookeeper.server.quorum.Leader)
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v, v, v, v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v, v, v, v, v, v, v;
byte v, v, v;
java.util.Set v, v, v, v;
org.apache.zookeeper.server.quorum.Follower v;
org.apache.zookeeper.server.ZKDatabase v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
org.apache.zookeeper.data.StatPersisted v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.ZooKeeperServer v, v, v, v, v, v, v;
org.apache.zookeeper.server.DataTree v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.DataNode v, v, v, v;
java.util.Collection v, v;
int v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
java.util.Iterator v, v, v, v, v, v;
org.apache.zookeeper.server.quorum.Leader v;
java.lang.Object v, v, v, v, v, v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v := @parameter: org.apache.zookeeper.test.QuorumUtil;
v := @parameter: int;
v := @parameter: org.apache.zookeeper.server.quorum.Leader;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Verifying state");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Not following");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: long getZxid()>();
v = v >> 32;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.Leader: long getEpoch()>();
v = v >> 32;
v = v cmp v;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: long getDataTreeLastProcessedZxid()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,long)>(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[])>("Zxid: \u0001Current epoch: \u0001");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, v);
if v != 1 goto label;
v = 2;
goto label;
label:
v = 1;
label:
v = v;
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: java.util.Collection getSessions()>();
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: java.util.Collection getSessions()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.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[])>("Should have same set of sessions in both servers, did not expect: \u0001");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Collection: int size()>();
v = interfaceinvoke v.<java.util.Collection: int size()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int,java.lang.String)>(v, v, "Should have same number of sessions");
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(3);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ZKDatabase getZKDatabase()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Validating ephemeral for session id 0x{}", v);
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.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[])>("Should have same set of sessions in both servers, did not expect: \u0001");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: java.util.Set getEphemerals(long)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: java.util.Set getEphemerals(long)>(v);
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: org.apache.zookeeper.server.DataTree getDataTree()>();
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataNode getNode(java.lang.String)>(v);
v = v.<org.apache.zookeeper.server.DataNode: org.apache.zookeeper.data.StatPersisted stat>;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getMzxid()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Restarted follower doesn\'t contain ephemeral {} zxid 0x{}", v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: org.apache.zookeeper.server.DataTree getDataTree()>();
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataNode getNode(java.lang.String)>(v);
v = v.<org.apache.zookeeper.server.DataNode: org.apache.zookeeper.data.StatPersisted stat>;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getMzxid()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Restarted follower has extra ephemeral {} zxid 0x{}", v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: java.util.Set getEphemerals(long)>(v);
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: org.apache.zookeeper.server.DataTree getDataTree()>();
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataNode getNode(java.lang.String)>(v);
v = v.<org.apache.zookeeper.server.DataNode: org.apache.zookeeper.data.StatPersisted stat>;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getMzxid()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Follower doesn\'t contain ephemeral from leader {} zxid 0x{}", v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: org.apache.zookeeper.server.DataTree getDataTree()>();
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataNode getNode(java.lang.String)>(v);
v = v.<org.apache.zookeeper.server.DataNode: org.apache.zookeeper.data.StatPersisted stat>;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getMzxid()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Leader doesn\'t contain ephemeral from follower {} zxid 0x{}", v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Set: int size()>();
v = interfaceinvoke v.<java.util.Set: int size()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int,java.lang.String)>(v, v, "Should have same number of ephemerals in both followers");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZKDatabase: java.util.Set getEphemerals(long)>(v);
v = interfaceinvoke v.<java.util.Set: int size()>();
v = interfaceinvoke v.<java.util.Set: int size()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int,java.lang.String)>(v, v, "Leader should equal follower");
goto label;
label:
return;
}
public void testFollowerSendsLastZxid() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v;
long v, v;
java.lang.Integer v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v;
byte v;
int v, v;
java.lang.String v, v;
boolean v;
org.slf4j.Logger v;
org.apache.zookeeper.server.quorum.Follower v;
org.apache.zookeeper.TestableZooKeeper v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v = new org.apache.zookeeper.test.QuorumUtil;
specialinvoke v.<org.apache.zookeeper.test.QuorumUtil: void <init>(int)>(1);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = 1;
label:
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
if v != null goto label;
v = v + 1;
goto label;
label:
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Connecting to follower: {}", v);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
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[])>("localhost:\u0001");
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.TestableZooKeeper createTestableClient(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.zookeeper.TestableZooKeeper: long testableLastZxid()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(long,long)>(0L, v);
virtualinvoke v.<org.apache.zookeeper.TestableZooKeeper: org.apache.zookeeper.data.Stat exists(java.lang.String,boolean)>("/", 0);
v = virtualinvoke v.<org.apache.zookeeper.TestableZooKeeper: long testableLastZxid()>();
v = v cmp 0L;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
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[])>("lzxid:\u > 0");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, v);
virtualinvoke v.<org.apache.zookeeper.TestableZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdownAll()>();
return;
}
public void testFollowerWatcherResync() throws java.lang.Exception
{
org.apache.zookeeper.CreateMode v;
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v;
byte[] v, v, v;
java.lang.Integer v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v, v;
boolean v;
java.util.concurrent.LinkedBlockingQueue v;
java.util.concurrent.CountDownLatch v;
org.apache.zookeeper.server.quorum.Follower v;
long v;
java.util.ArrayList v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest v;
int v, v, v;
java.lang.String v, v, v, v;
org.slf4j.Logger v;
java.util.concurrent.TimeUnit v, v;
org.apache.zookeeper.TestableZooKeeper v, v;
org.apache.zookeeper.test.FollowerResyncConcurrencyTest$MyWatcher v;
java.lang.Object v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.test.FollowerResyncConcurrencyTest;
v = new org.apache.zookeeper.test.QuorumUtil;
specialinvoke v.<org.apache.zookeeper.test.QuorumUtil: void <init>(int)>(1);
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = 1;
label:
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Follower follower>;
if v != null goto label;
v = v + 1;
goto label;
label:
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Connecting to follower: {}", v);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
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[])>("localhost:\u0001");
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.TestableZooKeeper createTestableClient(java.lang.String)>(v);
v = "foo";
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.TestableZooKeeper: java.lang.String create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode)>("/foo", v, v, v);
v = new org.apache.zookeeper.test.FollowerResyncConcurrencyTest$MyWatcher;
specialinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest$MyWatcher: void <init>(org.apache.zookeeper.test.FollowerResyncConcurrencyTest)>(v);
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
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[])>("localhost:\u0001");
v = staticinvoke <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.apache.zookeeper.TestableZooKeeper createTestableClient(org.apache.zookeeper.test.ClientBase$CountdownWatcher,java.lang.String)>(v, v);
virtualinvoke v.<org.apache.zookeeper.TestableZooKeeper: org.apache.zookeeper.data.Stat exists(java.lang.String,boolean)>("/foo", 1);
virtualinvoke v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest$MyWatcher: void reset()>();
virtualinvoke v.<org.apache.zookeeper.TestableZooKeeper: void testableConnloss()>();
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest$MyWatcher: java.util.concurrent.CountDownLatch clientConnected>;
v = <org.apache.zookeeper.test.FollowerResyncConcurrencyTest: long CONNECTION_TIMEOUT>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<java.util.concurrent.CountDownLatch: boolean await(long,java.util.concurrent.TimeUnit)>(v, v);
if v != 0 goto label;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Unable to connect to server");
label:
v = "foo";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = virtualinvoke v.<org.apache.zookeeper.TestableZooKeeper: byte[] getData(java.lang.String,boolean,org.apache.zookeeper.data.Stat)>("/foo", 0, null);
staticinvoke <org.junit.jupiter.api.Assertions: void assertArrayEquals(byte[],byte[])>(v, v);
v = v.<org.apache.zookeeper.test.FollowerResyncConcurrencyTest$MyWatcher: java.util.concurrent.LinkedBlockingQueue events>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: java.lang.Object poll(long,java.util.concurrent.TimeUnit)>(5L, v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertNull(java.lang.Object)>(v);
virtualinvoke v.<org.apache.zookeeper.TestableZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.TestableZooKeeper: void close()>();
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdownAll()>();
return;
}
static void <clinit>()
{
int v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/test/FollowerResyncConcurrencyTest;");
<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: org.slf4j.Logger LOG> = v;
v = <org.apache.zookeeper.test.ClientTest: int CONNECTION_TIMEOUT>;
<org.apache.zookeeper.test.FollowerResyncConcurrencyTest: long CONNECTION_TIMEOUT> = v;
return;
}
}