public class org.apache.zookeeper.test.SessionTrackerCheckTest extends org.apache.zookeeper.ZKTestCase
{
protected static final org.slf4j.Logger LOG;
public static final int TICK_TIME;
public static final int CONNECTION_TIMEOUT;
private java.util.concurrent.ConcurrentHashMap sessionsWithTimeouts;
public void <init>()
{
java.util.concurrent.ConcurrentHashMap v;
org.apache.zookeeper.test.SessionTrackerCheckTest v;
v := @this: org.apache.zookeeper.test.SessionTrackerCheckTest;
specialinvoke v.<org.apache.zookeeper.ZKTestCase: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.zookeeper.test.SessionTrackerCheckTest: java.util.concurrent.ConcurrentHashMap sessionsWithTimeouts> = v;
return;
}
public void setUp() throws java.lang.Exception
{
java.util.concurrent.ConcurrentHashMap v;
org.apache.zookeeper.test.SessionTrackerCheckTest v;
v := @this: org.apache.zookeeper.test.SessionTrackerCheckTest;
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest: java.util.concurrent.ConcurrentHashMap sessionsWithTimeouts>;
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: void clear()>();
return;
}
public void tearDown() throws java.lang.Exception
{
org.apache.zookeeper.test.SessionTrackerCheckTest v;
v := @this: org.apache.zookeeper.test.SessionTrackerCheckTest;
return;
}
public void testLearnerSessionTracker() throws java.lang.Exception
{
java.lang.Throwable v;
long v, v, v;
java.lang.Integer v, v;
java.lang.Long v, v;
org.apache.zookeeper.server.ZooKeeperServerListener v, v;
org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer v;
org.apache.zookeeper.server.quorum.LearnerSessionTracker v, v;
java.util.concurrent.ConcurrentHashMap v, v, v, v;
java.lang.Exception v, v, v, v;
org.apache.zookeeper.test.SessionTrackerCheckTest v;
v := @this: org.apache.zookeeper.test.SessionTrackerCheckTest;
v = new org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer;
specialinvoke v.<org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer: void <init>(org.apache.zookeeper.test.SessionTrackerCheckTest,long)>(v, 1L);
v = new org.apache.zookeeper.server.quorum.LearnerSessionTracker;
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest: java.util.concurrent.ConcurrentHashMap sessionsWithTimeouts>;
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer: long sid>;
v = virtualinvoke v.<org.apache.zookeeper.test.SessionTrackerCheckTest: org.apache.zookeeper.server.ZooKeeperServerListener testZKSListener()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.LearnerSessionTracker: void <init>(org.apache.zookeeper.server.SessionTracker$SessionExpirer,java.util.concurrent.ConcurrentMap,int,long,boolean,org.apache.zookeeper.server.ZooKeeperServerListener)>(v, v, 1000, v, 1, v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LearnerSessionTracker: void checkSession(long,java.lang.Object)>(185601517L, null);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Unknown session should have failed");
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest: java.util.concurrent.ConcurrentHashMap sessionsWithTimeouts>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(185601517L);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(10000);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LearnerSessionTracker: void checkSession(long,java.lang.Object)>(185601517L, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Global session should not fail");
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.LearnerSessionTracker: long createSession(int)>(10000);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LearnerSessionTracker: void checkSession(long,java.lang.Object)>(v, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Local session should not fail");
label:
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest: java.util.concurrent.ConcurrentHashMap sessionsWithTimeouts>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(10000);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LearnerSessionTracker: void checkSession(long,java.lang.Object)>(v, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Session during upgrade should not fail");
label:
v = new org.apache.zookeeper.server.quorum.LearnerSessionTracker;
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest: java.util.concurrent.ConcurrentHashMap sessionsWithTimeouts>;
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer: long sid>;
v = virtualinvoke v.<org.apache.zookeeper.test.SessionTrackerCheckTest: org.apache.zookeeper.server.ZooKeeperServerListener testZKSListener()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.LearnerSessionTracker: void <init>(org.apache.zookeeper.server.SessionTracker$SessionExpirer,java.util.concurrent.ConcurrentMap,int,long,boolean,org.apache.zookeeper.server.ZooKeeperServerListener)>(v, v, 1000, v, 0, v);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LearnerSessionTracker: void checkSession(long,java.lang.Object)>(-559038737L, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Should not get any exception");
label:
return;
catch org.apache.zookeeper.KeeperException$SessionExpiredException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public void testLeaderSessionTracker() throws java.lang.Exception
{
java.util.concurrent.ConcurrentHashMap v, v;
java.lang.Exception v, v, v, v, v, v, v, v;
java.lang.Throwable v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.server.ZooKeeperServerListener v, v;
org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer v;
java.lang.String v, v;
org.apache.zookeeper.server.quorum.LeaderSessionTracker v, v;
org.apache.zookeeper.test.SessionTrackerCheckTest v;
v := @this: org.apache.zookeeper.test.SessionTrackerCheckTest;
v = new org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer;
specialinvoke v.<org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer: void <init>(org.apache.zookeeper.test.SessionTrackerCheckTest,long)>(v, 2L);
v = new org.apache.zookeeper.server.quorum.LeaderSessionTracker;
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest: java.util.concurrent.ConcurrentHashMap sessionsWithTimeouts>;
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer: long sid>;
v = virtualinvoke v.<org.apache.zookeeper.test.SessionTrackerCheckTest: org.apache.zookeeper.server.ZooKeeperServerListener testZKSListener()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void <init>(org.apache.zookeeper.server.SessionTracker$SessionExpirer,java.util.concurrent.ConcurrentMap,int,long,boolean,org.apache.zookeeper.server.ZooKeeperServerListener)>(v, v, 1000, v, 1, v);
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer: long sid>;
v = v + 1L;
v = v << 56;
v = v + 1L;
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkSession(long,java.lang.Object)>(v, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("local session from other server should not fail");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: boolean trackSession(long,int)>(v, 10000);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkSession(long,java.lang.Object)>(v, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Global session should not fail");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkGlobalSession(long,java.lang.Object)>(v, null);
label:
goto label;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(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[])>("Global session should not fail \u0001");
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: long createSession(int)>(10000);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkSession(long,java.lang.Object)>(v, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Local session on the leader should not fail");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: boolean trackSession(long,int)>(v, 10000);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkSession(long,java.lang.Object)>(v, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Session during upgrade should not fail");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkGlobalSession(long,java.lang.Object)>(v, null);
label:
goto label;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(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[])>("Global session should not fail \u0001");
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>(v);
label:
v = new org.apache.zookeeper.server.quorum.LeaderSessionTracker;
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest: java.util.concurrent.ConcurrentHashMap sessionsWithTimeouts>;
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer: long sid>;
v = virtualinvoke v.<org.apache.zookeeper.test.SessionTrackerCheckTest: org.apache.zookeeper.server.ZooKeeperServerListener testZKSListener()>();
specialinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void <init>(org.apache.zookeeper.server.SessionTracker$SessionExpirer,java.util.concurrent.ConcurrentMap,int,long,boolean,org.apache.zookeeper.server.ZooKeeperServerListener)>(v, v, 1000, v, 0, v);
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: boolean trackSession(long,int)>(-559038737L, 10000);
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkSession(long,java.lang.Object)>(-559038737L, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Global session should not fail");
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkGlobalSession(long,java.lang.Object)>(-559038737L, null);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Global session should not fail");
label:
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer: long sid>;
v = v + 1L;
v = v << 56;
v = v + 2L;
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkSession(long,java.lang.Object)>(v, null);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("local session from other server should fail");
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.zookeeper.test.SessionTrackerCheckTest$Expirer: long sid>;
v = v << 56;
v = v + 2L;
label:
virtualinvoke v.<org.apache.zookeeper.server.quorum.LeaderSessionTracker: void checkSession(long,java.lang.Object)>(v, null);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("local session from the leader should fail");
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch org.apache.zookeeper.KeeperException$SessionExpiredException from label to label with label;
catch org.apache.zookeeper.KeeperException$SessionExpiredException from label to label with label;
}
org.apache.zookeeper.server.ZooKeeperServerListener testZKSListener()
{
org.apache.zookeeper.test.SessionTrackerCheckTest$1 v;
org.apache.zookeeper.test.SessionTrackerCheckTest v;
v := @this: org.apache.zookeeper.test.SessionTrackerCheckTest;
v = new org.apache.zookeeper.test.SessionTrackerCheckTest$1;
specialinvoke v.<org.apache.zookeeper.test.SessionTrackerCheckTest$1: void <init>(org.apache.zookeeper.test.SessionTrackerCheckTest)>(v);
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/test/SessionTrackerCheckTest;");
<org.apache.zookeeper.test.SessionTrackerCheckTest: org.slf4j.Logger LOG> = v;
return;
}
}