public class org.apache.zookeeper.server.BlueThrottleTest extends org.apache.zookeeper.ZKTestCase
{
private static final org.slf4j.Logger LOG;
private static final int RAPID_TIMEOUT;
private org.apache.zookeeper.test.QuorumUtil quorumUtil;
private org.apache.zookeeper.test.ClientBase$CountdownWatcher[] watchers;
private org.apache.zookeeper.ZooKeeper[] zks;
public void <init>()
{
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
specialinvoke v.<org.apache.zookeeper.ZKTestCase: void <init>()>();
v = new org.apache.zookeeper.test.QuorumUtil;
specialinvoke v.<org.apache.zookeeper.test.QuorumUtil: void <init>(int)>(1);
v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil> = v;
return;
}
public void testThrottleDisabled()
{
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.server.BlueThrottle v;
boolean v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
v = new org.apache.zookeeper.server.BlueThrottle;
specialinvoke v.<org.apache.zookeeper.server.BlueThrottle: void <init>()>();
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Throttle should be disabled by default");
return;
}
public void testThrottleWithoutRefill()
{
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.server.BlueThrottle v;
boolean v, v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
v = new org.apache.zookeeper.server.BlueThrottle;
specialinvoke v.<org.apache.zookeeper.server.BlueThrottle: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(1);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillTime(int)>(2000);
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "First request should be allowed");
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean,java.lang.String)>(v, "Second request should be denied");
return;
}
public void testThrottleWithRefill() throws java.lang.InterruptedException
{
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.server.BlueThrottle v;
boolean v, v, v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
v = new org.apache.zookeeper.server.BlueThrottle;
specialinvoke v.<org.apache.zookeeper.server.BlueThrottle: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(1);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillTime(int)>(500);
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "First request should be allowed");
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean,java.lang.String)>(v, "Second request should be denied");
staticinvoke <java.lang.Thread: void sleep(long)>(750L);
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Third request should be allowed since we\'ve got a new token");
return;
}
public void testThrottleWithoutRandomDropping() throws java.lang.InterruptedException
{
org.apache.zookeeper.server.BlueThrottleTest$MockRandom v;
org.apache.zookeeper.server.BlueThrottleTest v;
byte v;
org.apache.zookeeper.server.BlueThrottleTest$BlueThrottleWithMockRandom v;
int v, v, v, v, v;
java.lang.String v, v;
boolean v, v, v;
double v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
v = new org.apache.zookeeper.server.BlueThrottleTest$BlueThrottleWithMockRandom;
v = new org.apache.zookeeper.server.BlueThrottleTest$MockRandom;
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest$MockRandom: void <init>(org.apache.zookeeper.server.BlueThrottleTest)>(v);
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest$BlueThrottleWithMockRandom: void <init>(org.apache.zookeeper.server.BlueThrottleTest,org.apache.zookeeper.server.BlueThrottleTest$MockRandom)>(v, v);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(5);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillCount(int)>(5);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillTime(int)>(1000);
v = 0;
label:
if v >= 5 goto label;
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: int getMaxTokens()>();
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: int getDeficit()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int,java.lang.String)>(v, v, "All tokens should be used up by now");
staticinvoke <java.lang.Thread: void sleep(long)>(110L);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: double getDropChance()>();
v = v cmpl 0.0;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean,java.lang.String)>(v, "Dropping probability should still be zero");
staticinvoke <java.lang.Thread: void sleep(long)>(1500L);
v = 0;
label:
if v >= 5 goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (byte)>(5) <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[])>("The first \u requests should be allowed");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, v);
v = v + 1;
goto label;
label:
v = 0;
label:
if v >= 5 goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (byte)>(5) <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[])>("The latter \u requests should be denied");
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean,java.lang.String)>(v, v);
v = v + 1;
goto label;
label:
return;
}
public void testThrottleWithRandomDropping() throws java.lang.InterruptedException
{
java.lang.Double v;
java.lang.Integer v, v, v, v, v;
byte v;
int v, v, v, v, v, v, v;
boolean v, v, v, v, v;
double v, v;
org.slf4j.Logger v, v, v, v;
org.apache.zookeeper.server.BlueThrottleTest$MockRandom v;
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.server.BlueThrottleTest$BlueThrottleWithMockRandom v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
v = new org.apache.zookeeper.server.BlueThrottleTest$BlueThrottleWithMockRandom;
v = new org.apache.zookeeper.server.BlueThrottleTest$MockRandom;
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest$MockRandom: void <init>(org.apache.zookeeper.server.BlueThrottleTest)>(v);
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest$BlueThrottleWithMockRandom: void <init>(org.apache.zookeeper.server.BlueThrottleTest,org.apache.zookeeper.server.BlueThrottleTest$MockRandom)>(v, v);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(5);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillCount(int)>(5);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillTime(int)>(1000);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFreezeTime(int)>(100);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setDropIncrease(double)>(0.5);
v = 0;
label:
if v >= 5 goto label;
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: int getMaxTokens()>();
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: int getDeficit()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int,java.lang.String)>(v, v, "All tokens should be used up by now");
staticinvoke <java.lang.Thread: void sleep(long)>(120L);
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: double getDropChance()>();
v = v cmpl 0.0;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Dropping probability should be increased");
v = <org.apache.zookeeper.server.BlueThrottleTest: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: double getDropChance()>();
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Dropping probability is {}", v);
staticinvoke <java.lang.Thread: void sleep(long)>(1100L);
v = <org.apache.zookeeper.server.BlueThrottleTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(5);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Bucket is refilled with {} tokens.", v);
v = 0;
v = 0;
label:
if v >= 5 goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
if v == 0 goto label;
v = v + 1;
label:
v = v + 1;
goto label;
label:
v = <org.apache.zookeeper.server.BlueThrottleTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(5);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Send {} requests, {} are accepted", v, v);
if v >= 5 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "The dropping should be distributed");
v = 0;
v = 0;
label:
if v >= 5 goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: boolean checkLimit(int)>(1);
if v == 0 goto label;
v = v + 1;
label:
v = v + 1;
goto label;
label:
v = <org.apache.zookeeper.server.BlueThrottleTest: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(5);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Send another {} requests, {} are accepted", v, v);
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "Later requests should have a chance");
return;
}
private int connect(int) throws java.lang.Exception
{
java.util.concurrent.TimeoutException v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v, v, v;
int v, v, v;
java.lang.String v;
org.apache.zookeeper.ZooKeeper v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher[] v, v, v, v;
org.slf4j.Logger v;
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.ZooKeeper[] v, v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
v := @parameter: int;
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: java.lang.String getConnectionStringForServer(int)>(1);
v = 0;
v = newarray (org.apache.zookeeper.ZooKeeper)[v];
v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.ZooKeeper[] zks> = v;
v = newarray (org.apache.zookeeper.test.ClientBase$CountdownWatcher)[v];
v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.ClientBase$CountdownWatcher[] watchers> = v;
v = 0;
label:
if v >= v goto label;
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.ClientBase$CountdownWatcher[] watchers>;
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
v[v] = v;
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.ZooKeeper[] zks>;
v = new org.apache.zookeeper.ZooKeeper;
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.ClientBase$CountdownWatcher[] watchers>;
v = v[v];
specialinvoke v.<org.apache.zookeeper.ZooKeeper: void <init>(java.lang.String,int,org.apache.zookeeper.Watcher)>(v, 3000, v);
v[v] = v;
label:
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.ClientBase$CountdownWatcher[] watchers>;
v = v[v];
virtualinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void waitForConnected(long)>(10000L);
v = v + 1;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.BlueThrottleTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Connection denied by the throttler due to insufficient tokens");
goto label;
label:
v = v + 1;
goto label;
label:
return v;
catch java.util.concurrent.TimeoutException from label to label with label;
}
private void shutdownQuorum() throws java.lang.Exception
{
org.apache.zookeeper.ZooKeeper v;
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.ZooKeeper[] v;
int v, v;
org.apache.zookeeper.test.QuorumUtil v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.ZooKeeper[] zks>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
if v == null goto label;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: void close()>();
label:
v = v + 1;
goto label;
label:
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdownAll()>();
return;
}
public void testNoThrottling() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
org.apache.zookeeper.server.ZooKeeperServer v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v;
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.server.BlueThrottle v;
int v;
org.apache.zookeeper.test.QuorumUtil v, v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(0);
v = specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: int connect(int)>(10);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(10, v);
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: void shutdownQuorum()>();
return;
}
public void testThrottling() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v, v, v;
org.apache.zookeeper.server.BlueThrottle v, v, v, v;
int v, v;
org.apache.zookeeper.server.ZooKeeperServer v, v, v, v;
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.test.QuorumUtil v, v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void enableLocalSession(boolean)>(1);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(2);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillCount(int)>(0);
v = specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: int connect(int)>(3);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(2, v);
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: void shutdownQuorum()>();
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void enableLocalSession(boolean)>(0);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(2);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillCount(int)>(0);
v = specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: int connect(int)>(3);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(2, v);
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: void shutdownQuorum()>();
return;
}
public void testWeighedThrottling() throws java.lang.Exception
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v, v, v, v, v, v;
java.util.concurrent.TimeoutException v;
java.lang.Integer v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.BlueThrottle v, v, v, v, v, v, v, v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher[] v, v, v;
org.apache.zookeeper.server.BlueThrottleTest v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v, v, v;
int v, v, v, v, v;
org.slf4j.Logger v, v;
org.apache.zookeeper.server.ZooKeeperServer v, v, v, v, v, v, v, v;
org.apache.zookeeper.test.QuorumUtil v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.BlueThrottleTest;
staticinvoke <org.apache.zookeeper.server.BlueThrottle: void setConnectionWeightEnabled(boolean)>(1);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void enableLocalSession(boolean)>(1);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(10);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillCount(int)>(0);
v = specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: int connect(int)>(11);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(10, v);
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: void shutdownQuorum()>();
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void enableLocalSession(boolean)>(0);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(10);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillCount(int)>(0);
v = specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: int connect(int)>(11);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(3, v);
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: void shutdownQuorum()>();
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(10);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillCount(int)>(0);
v = specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: int connect(int)>(2);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(2, v);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void shutdown(int)>(1);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.ClientBase$CountdownWatcher[] watchers>;
v = v[0];
virtualinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void waitForDisconnected(long)>(10000L);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.ClientBase$CountdownWatcher[] watchers>;
v = v[1];
virtualinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void waitForDisconnected(long)>(10000L);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void restart(int)>(1);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setMaxTokens(int)>(3);
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.QuorumUtil quorumUtil>;
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: org.apache.zookeeper.server.ZooKeeperServer getActiveServer()>();
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.BlueThrottle connThrottle()>();
virtualinvoke v.<org.apache.zookeeper.server.BlueThrottle: void setFillCount(int)>(0);
v = 0;
v = 0;
label:
if v >= 2 goto label;
label:
v = v.<org.apache.zookeeper.server.BlueThrottleTest: org.apache.zookeeper.test.ClientBase$CountdownWatcher[] watchers>;
v = v[v];
virtualinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void waitForConnected(long)>(10000L);
v = v + 1;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.BlueThrottleTest: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("One reconnect fails due to insufficient tokens");
label:
v = v + 1;
goto label;
label:
v = <org.apache.zookeeper.server.BlueThrottleTest: 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)>("reconnected {}", v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(1, v);
specialinvoke v.<org.apache.zookeeper.server.BlueThrottleTest: void shutdownQuorum()>();
return;
catch java.util.concurrent.TimeoutException 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/BlueThrottleTest;");
<org.apache.zookeeper.server.BlueThrottleTest: org.slf4j.Logger LOG> = v;
return;
}
}