public class org.apache.zookeeper.server.persistence.FileTxnSnapLogTest extends java.lang.Object
{
private java.io.File tmpDir;
private java.io.File logDir;
private java.io.File snapDir;
private java.io.File logVersionDir;
private java.io.File snapVersionDir;
public void <init>()
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void setUp() throws java.lang.Exception
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.File v, v, v, v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = staticinvoke <org.apache.zookeeper.test.ClientBase: java.io.File createEmptyTestDir()>();
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File tmpDir> = v;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File tmpDir>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "logdir");
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir> = v;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File tmpDir>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "snapdir");
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir> = v;
return;
}
public void tearDown() throws java.lang.Exception
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.File v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File tmpDir>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File tmpDir>;
staticinvoke <org.apache.zookeeper.test.TestUtils: boolean deleteFileRecursively(java.io.File)>(v);
label:
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File tmpDir> = null;
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir> = null;
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir> = null;
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logVersionDir> = null;
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapVersionDir> = null;
return;
}
private java.io.File createVersionDir(java.io.File)
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.File v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v := @parameter: java.io.File;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "version-2");
virtualinvoke v.<java.io.File: boolean mkdirs()>();
return v;
}
private void createLogFile(java.io.File, long) throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
long v;
java.io.File v, v;
java.lang.String v, v, v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v := @parameter: java.io.File;
v := @parameter: long;
v = new java.io.File;
v = virtualinvoke v.<java.io.File: java.lang.String getPath()>();
v = <java.io.File: java.lang.String separator>;
v = staticinvoke <org.apache.zookeeper.server.persistence.Util: java.lang.String makeLogName(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001\u0001");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.io.File: boolean createNewFile()>();
return;
}
private void createSnapshotFile(java.io.File, long) throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
long v;
java.io.File v, v;
java.lang.String v, v, v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v := @parameter: java.io.File;
v := @parameter: long;
v = new java.io.File;
v = virtualinvoke v.<java.io.File: java.lang.String getPath()>();
v = <java.io.File: java.lang.String separator>;
v = staticinvoke <org.apache.zookeeper.server.persistence.Util: java.lang.String makeSnapshotName(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001\u0001");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.io.File: boolean createNewFile()>();
return;
}
private void twoDirSetupWithCorrectFiles() throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.File v, v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File createVersionDir(java.io.File)>(v);
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logVersionDir> = v;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
v = specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File createVersionDir(java.io.File)>(v);
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapVersionDir> = v;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logVersionDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void createLogFile(java.io.File,long)>(v, 1L);
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logVersionDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void createLogFile(java.io.File,long)>(v, 2L);
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapVersionDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void createSnapshotFile(java.io.File,long)>(v, 1L);
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapVersionDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void createSnapshotFile(java.io.File,long)>(v, 2L);
return;
}
private void singleDirSetupWithCorrectFiles() throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.File v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File createVersionDir(java.io.File)>(v);
v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logVersionDir> = v;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logVersionDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void createLogFile(java.io.File,long)>(v, 1L);
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logVersionDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void createLogFile(java.io.File,long)>(v, 2L);
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logVersionDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void createSnapshotFile(java.io.File,long)>(v, 1L);
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logVersionDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void createSnapshotFile(java.io.File,long)>(v, 2L);
return;
}
private org.apache.zookeeper.server.persistence.FileTxnSnapLog createFileTxnSnapLogWithNoAutoCreateDataDir(java.io.File, java.io.File) throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.File v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: org.apache.zookeeper.server.persistence.FileTxnSnapLog createFileTxnSnapLogWithAutoCreateDataDir(java.io.File,java.io.File,java.lang.String)>(v, v, "false");
return v;
}
private org.apache.zookeeper.server.persistence.FileTxnSnapLog createFileTxnSnapLogWithAutoCreateDataDir(java.io.File, java.io.File, java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.lang.String v, v;
java.io.File v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v := @parameter: java.lang.String;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("zookeeper.datadir.autocreate");
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.datadir.autocreate", v);
label:
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
label:
if v != null goto label;
staticinvoke <java.lang.System: java.lang.String clearProperty(java.lang.String)>("zookeeper.datadir.autocreate");
goto label;
label:
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.datadir.autocreate", v);
goto label;
label:
v := @caughtexception;
if v != null goto label;
staticinvoke <java.lang.System: java.lang.String clearProperty(java.lang.String)>("zookeeper.datadir.autocreate");
goto label;
label:
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.datadir.autocreate", v);
label:
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private org.apache.zookeeper.server.persistence.FileTxnSnapLog createFileTxnSnapLogWithAutoCreateDB(java.io.File, java.io.File, java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.lang.String v, v;
java.io.File v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v := @parameter: java.lang.String;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("zookeeper.db.autocreate");
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.db.autocreate", v);
label:
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
label:
if v != null goto label;
staticinvoke <java.lang.System: java.lang.String clearProperty(java.lang.String)>("zookeeper.db.autocreate");
goto label;
label:
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.db.autocreate", v);
goto label;
label:
v := @caughtexception;
if v != null goto label;
staticinvoke <java.lang.System: java.lang.String clearProperty(java.lang.String)>("zookeeper.db.autocreate");
goto label;
label:
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.db.autocreate", v);
label:
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public void testWithAutoCreateDataDir() throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
boolean v, v, v, v, v, v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.File v, v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean,java.lang.String)>(v, "log directory already exists");
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean,java.lang.String)>(v, "snapshot directory already exists");
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
v = specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: org.apache.zookeeper.server.persistence.FileTxnSnapLog createFileTxnSnapLogWithAutoCreateDataDir(java.io.File,java.io.File,java.lang.String)>(v, v, "true");
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: java.io.File getDataDir()>();
v = virtualinvoke v.<java.io.File: boolean exists()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: java.io.File getSnapDir()>();
v = virtualinvoke v.<java.io.File: boolean exists()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
return;
}
public void testWithoutAutoCreateDataDir() throws java.lang.Exception
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
org.junit.jupiter.api.function.Executable v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = staticinvoke <org.apache.zookeeper.server.persistence.FileTxnSnapLogTest$lambda_testWithoutAutoCreateDataDir_0__174: org.junit.jupiter.api.function.Executable bootstrap$(org.apache.zookeeper.server.persistence.FileTxnSnapLogTest)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Throwable assertThrows(java.lang.Class,org.junit.jupiter.api.function.Executable)>(class "Lorg/apache/zookeeper/server/persistence/FileTxnSnapLog$DatadirException;", v);
return;
}
private void attemptAutoCreateDB(java.io.File, java.io.File, java.util.Map, java.lang.String, long) throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
long v, v;
java.io.File v, v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest$1 v;
java.util.Map v;
org.apache.zookeeper.server.DataTree v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: long;
interfaceinvoke v.<java.util.Map: void clear()>();
v = specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: org.apache.zookeeper.server.persistence.FileTxnSnapLog createFileTxnSnapLogWithAutoCreateDB(java.io.File,java.io.File,java.lang.String)>(v, v, v);
v = new org.apache.zookeeper.server.DataTree;
specialinvoke v.<org.apache.zookeeper.server.DataTree: void <init>()>();
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLogTest$1;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest$1: void <init>(org.apache.zookeeper.server.persistence.FileTxnSnapLogTest)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: long restore(org.apache.zookeeper.server.DataTree,java.util.Map,org.apache.zookeeper.server.persistence.FileTxnSnapLog$PlayBackListener)>(v, v, v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(long,long,java.lang.String)>(v, v, "unexpected zxid");
return;
}
public void testAutoCreateDB() throws java.io.IOException
{
boolean v, v, v, v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.util.concurrent.ConcurrentHashMap v;
java.io.File v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = virtualinvoke v.<java.io.File: boolean mkdir()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "cannot create log directory");
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
v = virtualinvoke v.<java.io.File: boolean mkdir()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "cannot create snapshot directory");
v = new java.io.File;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "initialize");
v = virtualinvoke v.<java.io.File: boolean exists()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertFalse(boolean,java.lang.String)>(v, "initialize file already exists");
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void attemptAutoCreateDB(java.io.File,java.io.File,java.util.Map,java.lang.String,long)>(v, v, v, "false", -1L);
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void attemptAutoCreateDB(java.io.File,java.io.File,java.util.Map,java.lang.String,long)>(v, v, v, "true", 0L);
v = virtualinvoke v.<java.io.File: boolean createNewFile()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, "cannot create initialize file");
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void attemptAutoCreateDB(java.io.File,java.io.File,java.util.Map,java.lang.String,long)>(v, v, v, "false", 0L);
return;
}
public void testGetTxnLogSyncElapsedTime() throws java.io.IOException
{
java.lang.Throwable v;
byte[] v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
long v;
org.apache.zookeeper.txn.SetDataTxn v;
org.apache.zookeeper.txn.TxnHeader v;
java.io.File v, v;
org.apache.zookeeper.server.Request v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
v = specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: org.apache.zookeeper.server.persistence.FileTxnSnapLog createFileTxnSnapLogWithAutoCreateDataDir(java.io.File,java.io.File,java.lang.String)>(v, v, "true");
v = new org.apache.zookeeper.txn.TxnHeader;
specialinvoke v.<org.apache.zookeeper.txn.TxnHeader: void <init>(long,int,long,long,int)>(1L, 1, 1L, 1L, 5);
v = new org.apache.zookeeper.txn.SetDataTxn;
v = newarray (byte)[0];
specialinvoke v.<org.apache.zookeeper.txn.SetDataTxn: void <init>(java.lang.String,byte[],int)>("/foo", v, 1);
v = new org.apache.zookeeper.server.Request;
specialinvoke v.<org.apache.zookeeper.server.Request: void <init>(long,int,int,org.apache.zookeeper.txn.TxnHeader,org.apache.jute.Record,long)>(0L, 0, 0, v, v, 0L);
label:
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: boolean append(org.apache.zookeeper.server.Request)>(v);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void commit()>();
v = virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: long getTxnLogElapsedSyncTime()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertNotEquals(long,long,java.lang.String)>(-1L, v, "Did not update syncElapsedTime!");
label:
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void close()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void close()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void testDirCheckWithCorrectFiles() throws java.io.IOException
{
java.lang.Throwable v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.File v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void twoDirSetupWithCorrectFiles()>();
label:
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File snapDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: org.apache.zookeeper.server.persistence.FileTxnSnapLog createFileTxnSnapLogWithNoAutoCreateDataDir(java.io.File,java.io.File)>(v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Should not throw ContentCheckException.");
label:
return;
catch org.apache.zookeeper.server.persistence.FileTxnSnapLog$LogDirContentCheckException from label to label with label;
catch org.apache.zookeeper.server.persistence.FileTxnSnapLog$SnapDirContentCheckException from label to label with label;
}
public void testDirCheckWithSingleDirSetup() throws java.io.IOException
{
java.lang.Throwable v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.File v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void singleDirSetupWithCorrectFiles()>();
label:
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
v = v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: java.io.File logDir>;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: org.apache.zookeeper.server.persistence.FileTxnSnapLog createFileTxnSnapLogWithNoAutoCreateDataDir(java.io.File,java.io.File)>(v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Should not throw ContentCheckException.");
label:
return;
catch org.apache.zookeeper.server.persistence.FileTxnSnapLog$LogDirContentCheckException from label to label with label;
catch org.apache.zookeeper.server.persistence.FileTxnSnapLog$SnapDirContentCheckException from label to label with label;
}
public void testDirCheckWithSnapFilesInLogDir() throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
org.junit.jupiter.api.function.Executable v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = staticinvoke <org.apache.zookeeper.server.persistence.FileTxnSnapLogTest$lambda_testDirCheckWithSnapFilesInLogDir_1__175: org.junit.jupiter.api.function.Executable bootstrap$(org.apache.zookeeper.server.persistence.FileTxnSnapLogTest)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Throwable assertThrows(java.lang.Class,org.junit.jupiter.api.function.Executable)>(class "Lorg/apache/zookeeper/server/persistence/FileTxnSnapLog$LogDirContentCheckException;", v);
return;
}
public void testDirCheckWithLogFilesInSnapDir() throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
org.junit.jupiter.api.function.Executable v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = staticinvoke <org.apache.zookeeper.server.persistence.FileTxnSnapLogTest$lambda_testDirCheckWithLogFilesInSnapDir_2__176: org.junit.jupiter.api.function.Executable bootstrap$(org.apache.zookeeper.server.persistence.FileTxnSnapLogTest)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Throwable assertThrows(java.lang.Class,org.junit.jupiter.api.function.Executable)>(class "Lorg/apache/zookeeper/server/persistence/FileTxnSnapLog$SnapDirContentCheckException;", v);
return;
}
public void testACLCreatedDuringFuzzySnapshotSync() throws java.io.IOException
{
byte[] v;
org.apache.jute.BinaryOutputArchive v;
java.util.ArrayList v, v, v;
org.apache.zookeeper.txn.CreateTxn v;
int v;
java.lang.String v;
org.apache.zookeeper.server.DataNode v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.io.FileOutputStream v;
org.apache.zookeeper.txn.TxnHeader v;
java.io.FileInputStream v;
java.io.File v;
org.apache.jute.BinaryInputArchive v;
java.util.List v, v;
org.apache.zookeeper.server.DataTree v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = new org.apache.zookeeper.server.DataTree;
specialinvoke v.<org.apache.zookeeper.server.DataTree: void <init>()>();
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String)>("snapshot", "zk");
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.io.File)>(v);
v = staticinvoke <org.apache.jute.BinaryOutputArchive: org.apache.jute.BinaryOutputArchive getArchive(java.io.OutputStream)>(v);
virtualinvoke v.<org.apache.zookeeper.server.DataTree: void serializeAcls(org.apache.jute.OutputArchive)>(v);
v = new org.apache.zookeeper.txn.TxnHeader;
specialinvoke v.<org.apache.zookeeper.txn.TxnHeader: void <init>(long,int,long,long,int)>(1L, 2, 2L, 2L, 1);
v = new org.apache.zookeeper.txn.CreateTxn;
v = "foo";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList CREATOR_ALL_ACL>;
v = (int) -1;
specialinvoke v.<org.apache.zookeeper.txn.CreateTxn: void <init>(java.lang.String,byte[],java.util.List,boolean,int)>("/a1", v, v, 0, v);
virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataTree$ProcessTxnResult processTxn(org.apache.zookeeper.txn.TxnHeader,org.apache.jute.Record)>(v, v);
virtualinvoke v.<org.apache.zookeeper.server.DataTree: void serializeNodes(org.apache.jute.OutputArchive)>(v);
virtualinvoke v.<java.io.FileOutputStream: void close()>();
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
v = staticinvoke <org.apache.jute.BinaryInputArchive: org.apache.jute.BinaryInputArchive getArchive(java.io.InputStream)>(v);
v = new org.apache.zookeeper.server.DataTree;
specialinvoke v.<org.apache.zookeeper.server.DataTree: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.server.DataTree: void deserialize(org.apache.jute.InputArchive,java.lang.String)>(v, "tree");
virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataTree$ProcessTxnResult processTxn(org.apache.zookeeper.txn.TxnHeader,org.apache.jute.Record)>(v, v);
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataNode getNode(java.lang.String)>("/a1");
staticinvoke <org.junit.jupiter.api.Assertions: void assertNotNull(java.lang.Object)>(v);
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList CREATOR_ALL_ACL>;
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: java.util.List getACL(org.apache.zookeeper.server.DataNode)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList CREATOR_ALL_ACL>;
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: java.util.List getACL(org.apache.zookeeper.server.DataNode)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void testEmptySnapshotSerialization() throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.util.concurrent.ConcurrentHashMap v;
org.apache.zookeeper.server.DataTree v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog$PlayBackListener v;
java.io.File v;
org.apache.zookeeper.server.DataTree$ZxidDigest v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = staticinvoke <org.apache.zookeeper.test.ClientBase: java.io.File createEmptyTestDir()>();
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
v = new org.apache.zookeeper.server.DataTree;
specialinvoke v.<org.apache.zookeeper.server.DataTree: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
staticinvoke <org.apache.zookeeper.server.ZooKeeperServer: void setDigestEnabled(boolean)>(1);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: java.io.File save(org.apache.zookeeper.server.DataTree,java.util.concurrent.ConcurrentHashMap,boolean)>(v, v, 1);
v = staticinvoke <org.apache.zookeeper.server.persistence.FileTxnSnapLogTest$lambda_testEmptySnapshotSerialization_3__177: org.apache.zookeeper.server.persistence.FileTxnSnapLog$PlayBackListener bootstrap$()>();
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: long restore(org.apache.zookeeper.server.DataTree,java.util.Map,org.apache.zookeeper.server.persistence.FileTxnSnapLog$PlayBackListener)>(v, v, v);
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataTree$ZxidDigest getDigestFromLoadedSnapshot()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertNull(java.lang.Object)>(v);
return;
}
public void testSnapshotSerializationCompatibility() throws java.io.IOException
{
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
java.lang.Boolean v, v, v, v, v, v, v, v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void testSnapshotSerializationCompatibility(java.lang.Boolean,java.lang.Boolean)>(v, v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void testSnapshotSerializationCompatibility(java.lang.Boolean,java.lang.Boolean)>(v, v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void testSnapshotSerializationCompatibility(java.lang.Boolean,java.lang.Boolean)>(v, v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLogTest: void testSnapshotSerializationCompatibility(java.lang.Boolean,java.lang.Boolean)>(v, v);
return;
}
void testSnapshotSerializationCompatibility(java.lang.Boolean, java.lang.Boolean) throws java.io.IOException
{
byte[] v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog v;
org.apache.zookeeper.txn.CreateTxn v;
int v, v;
java.lang.Boolean v, v;
java.lang.String v;
org.apache.zookeeper.server.persistence.FileTxnSnapLog$PlayBackListener v;
boolean v, v, v, v, v, v, v;
org.apache.zookeeper.server.persistence.FileTxnSnapLogTest v;
org.apache.zookeeper.server.persistence.SnapStream$StreamMode v;
java.util.concurrent.ConcurrentHashMap v;
org.apache.jute.Record v;
org.apache.zookeeper.txn.TxnHeader v, v;
java.io.File v;
org.apache.zookeeper.server.Request v;
org.apache.zookeeper.server.DataTree v;
v := @this: org.apache.zookeeper.server.persistence.FileTxnSnapLogTest;
v := @parameter: java.lang.Boolean;
v := @parameter: java.lang.Boolean;
v = staticinvoke <org.apache.zookeeper.test.ClientBase: java.io.File createEmptyTestDir()>();
v = new org.apache.zookeeper.server.persistence.FileTxnSnapLog;
specialinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: void <init>(java.io.File,java.io.File)>(v, v);
v = new org.apache.zookeeper.server.DataTree;
specialinvoke v.<org.apache.zookeeper.server.DataTree: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.persistence.SnapStream$StreamMode: org.apache.zookeeper.server.persistence.SnapStream$StreamMode SNAPPY>;
goto label;
label:
v = <org.apache.zookeeper.server.persistence.SnapStream$StreamMode: org.apache.zookeeper.server.persistence.SnapStream$StreamMode DEFAULT_MODE>;
label:
staticinvoke <org.apache.zookeeper.server.persistence.SnapStream: void setStreamMode(org.apache.zookeeper.server.persistence.SnapStream$StreamMode)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
staticinvoke <org.apache.zookeeper.server.ZooKeeperServer: void setDigestEnabled(boolean)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
staticinvoke <org.apache.zookeeper.server.ZooKeeperServer: void setSerializeLastProcessedZxidEnabled(boolean)>(v);
v = new org.apache.zookeeper.txn.TxnHeader;
specialinvoke v.<org.apache.zookeeper.txn.TxnHeader: void <init>(long,int,long,long,int)>(1L, 1, 1L, 2L, 1);
v = new org.apache.zookeeper.txn.CreateTxn;
v = "data";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
specialinvoke v.<org.apache.zookeeper.txn.CreateTxn: void <init>(java.lang.String,byte[],java.util.List,boolean,int)>("/1", v, null, 0, 1);
v = new org.apache.zookeeper.server.Request;
specialinvoke v.<org.apache.zookeeper.server.Request: void <init>(long,int,int,org.apache.zookeeper.txn.TxnHeader,org.apache.jute.Record,long)>(1L, 1, 1, v, v, 1L);
v = virtualinvoke v.<org.apache.zookeeper.server.Request: org.apache.zookeeper.txn.TxnHeader getHdr()>();
v = virtualinvoke v.<org.apache.zookeeper.server.Request: org.apache.jute.Record getTxn()>();
virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataTree$ProcessTxnResult processTxn(org.apache.zookeeper.txn.TxnHeader,org.apache.jute.Record)>(v, v);
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: java.io.File save(org.apache.zookeeper.server.DataTree,java.util.concurrent.ConcurrentHashMap,boolean)>(v, v, 1);
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: int getNodeCount()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.zookeeper.server.ZooKeeperServer: void setDigestEnabled(boolean)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.zookeeper.server.ZooKeeperServer: void setSerializeLastProcessedZxidEnabled(boolean)>(v);
v = staticinvoke <org.apache.zookeeper.server.persistence.FileTxnSnapLogTest$lambda_testSnapshotSerializationCompatibility_4__178: org.apache.zookeeper.server.persistence.FileTxnSnapLog$PlayBackListener bootstrap$()>();
virtualinvoke v.<org.apache.zookeeper.server.persistence.FileTxnSnapLog: long restore(org.apache.zookeeper.server.DataTree,java.util.Map,org.apache.zookeeper.server.persistence.FileTxnSnapLog$PlayBackListener)>(v, v, v);
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: int getNodeCount()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(v, v);
return;
}
}