public class org.apache.hive.hcatalog.templeton.tool.HDFSCleanup extends java.lang.Thread
{
protected org.apache.hadoop.conf.Configuration appConf;
public static final java.lang.String HDFS_CLEANUP_INTERVAL;
public static final java.lang.String HDFS_CLEANUP_MAX_AGE;
protected static long interval;
protected static long maxage;
private static final org.slf4j.Logger LOG;
private boolean stop;
private static org.apache.hive.hcatalog.templeton.tool.HDFSCleanup thisclass;
private static boolean isRunning;
private java.lang.String storage_root;
private void <init>(org.apache.hadoop.conf.Configuration)
{
org.apache.hive.hcatalog.templeton.tool.HDFSCleanup v;
org.apache.hadoop.conf.Configuration v;
long v, v, v, v;
java.lang.String v;
v := @this: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup;
v := @parameter: org.apache.hadoop.conf.Configuration;
specialinvoke v.<java.lang.Thread: void <init>()>();
v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: boolean stop> = 0;
v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.apache.hadoop.conf.Configuration appConf> = v;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: long interval>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: long getLong(java.lang.String,long)>("templeton.hdfs.cleanup.interval", v);
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: long interval> = v;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: long maxage>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: long getLong(java.lang.String,long)>("templeton.hdfs.cleanup.maxage", v);
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: long maxage> = v;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>("templeton.storage.root");
v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: java.lang.String storage_root> = v;
return;
}
public static org.apache.hive.hcatalog.templeton.tool.HDFSCleanup getInstance(org.apache.hadoop.conf.Configuration)
{
org.apache.hive.hcatalog.templeton.tool.HDFSCleanup v, v, v, v;
org.apache.hadoop.conf.Configuration v;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup thisclass>;
if v == null goto label;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup thisclass>;
return v;
label:
v = new org.apache.hive.hcatalog.templeton.tool.HDFSCleanup;
specialinvoke v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: void <init>(org.apache.hadoop.conf.Configuration)>(v);
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup thisclass> = v;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup thisclass>;
return v;
}
public static void startInstance(org.apache.hadoop.conf.Configuration) throws java.io.IOException
{
org.apache.hive.hcatalog.templeton.tool.HDFSCleanup v;
boolean v;
org.apache.hadoop.conf.Configuration v;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: boolean isRunning>;
if v != 0 goto label;
v = staticinvoke <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup getInstance(org.apache.hadoop.conf.Configuration)>(v);
virtualinvoke v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: void start()>();
label:
return;
}
public void run()
{
java.lang.Throwable v;
java.util.Date v, v;
org.apache.hadoop.fs.FileSystem v;
long v, v, v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v;
java.lang.String v, v, v, v, v, v;
boolean v;
double v, v;
org.apache.hive.hcatalog.templeton.tool.HDFSCleanup v;
org.slf4j.Logger v, v, v;
java.lang.Exception v, v;
v := @this: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup;
label:
v = v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: boolean stop>;
if v != 0 goto label;
label:
v = new org.apache.hadoop.fs.Path;
v = v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: java.lang.String storage_root>;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
v = v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.apache.hadoop.conf.Configuration appConf>;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.FileSystem getFileSystem(org.apache.hadoop.conf.Configuration)>(v);
specialinvoke v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: void checkFiles(org.apache.hadoop.fs.FileSystem)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cleanup cycle failed: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
v = staticinvoke <java.lang.Math: double random()>();
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: long interval>;
v = v * v;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.slf4j.Logger LOG>;
v = new java.util.Date;
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = virtualinvoke v.<java.util.Date: long getTime()>();
v = v + v;
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.Date)>(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[])>("Next execution: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
staticinvoke <java.lang.Thread: void sleep(long)>(v);
label:
goto label;
label:
v := @caughtexception;
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: boolean isRunning> = 0;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cleanup failed: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: boolean isRunning> = 0;
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void checkFiles(org.apache.hadoop.fs.FileSystem) throws java.io.IOException
{
org.apache.hive.hcatalog.templeton.tool.TempletonStorage$Type v;
java.util.Date v;
org.apache.hadoop.fs.FileSystem v;
long v, v, v, v;
org.apache.hadoop.fs.FileStatus v;
org.apache.hive.hcatalog.templeton.tool.TempletonStorage$Type[] v;
byte v;
int v, v, v, v;
org.apache.hadoop.fs.Path v, v, v;
java.lang.String v, v, v, v;
org.apache.hive.hcatalog.templeton.tool.HDFSCleanup v;
org.apache.hadoop.fs.FileStatus[] v;
org.slf4j.Logger v;
java.lang.Exception v;
v := @this: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = virtualinvoke v.<java.util.Date: long getTime()>();
v = staticinvoke <org.apache.hive.hcatalog.templeton.tool.TempletonStorage$Type: org.apache.hive.hcatalog.templeton.tool.TempletonStorage$Type[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
label:
v = new org.apache.hadoop.fs.Path;
v = v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: java.lang.String storage_root>;
v = staticinvoke <org.apache.hive.hcatalog.templeton.tool.HDFSStorage: java.lang.String getPath(org.apache.hive.hcatalog.templeton.tool.TempletonStorage$Type,java.lang.String)>(v, v);
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus[] listStatus(org.apache.hadoop.fs.Path)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: long getModificationTime()>();
v = v - v;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: long maxage>;
v = v cmp v;
if v <= 0 goto label;
v = <org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.Path getPath()>();
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Deleting \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.Path getPath()>();
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean delete(org.apache.hadoop.fs.Path,boolean)>(v, 1);
label:
v = v + 1;
goto label;
label:
v := @caughtexception;
label:
v = v + 1;
goto label;
label:
return;
catch java.lang.Exception from label to label with label;
}
public void exit()
{
org.apache.hive.hcatalog.templeton.tool.HDFSCleanup v;
v := @this: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup;
v.<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: boolean stop> = 1;
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: long interval> = 43200000L;
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: long maxage> = 604800000L;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/hive/hcatalog/templeton/tool/HDFSCleanup;");
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.slf4j.Logger LOG> = v;
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: org.apache.hive.hcatalog.templeton.tool.HDFSCleanup thisclass> = null;
<org.apache.hive.hcatalog.templeton.tool.HDFSCleanup: boolean isRunning> = 0;
return;
}
}