public class oadd.org.apache.hadoop.fs.shell.Truncate extends oadd.org.apache.hadoop.fs.shell.FsCommand
{
public static final java.lang.String NAME;
public static final java.lang.String USAGE;
public static final java.lang.String DESCRIPTION;
protected long newLength;
protected java.util.List waitList;
protected boolean waitOpt;
public void <init>()
{
oadd.org.apache.hadoop.fs.shell.Truncate v;
java.util.LinkedList v;
v := @this: oadd.org.apache.hadoop.fs.shell.Truncate;
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.FsCommand: void <init>()>();
v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength> = -1L;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v.<oadd.org.apache.hadoop.fs.shell.Truncate: java.util.List waitList> = v;
v.<oadd.org.apache.hadoop.fs.shell.Truncate: boolean waitOpt> = 0;
return;
}
public static void registerCommands(oadd.org.apache.hadoop.fs.shell.CommandFactory)
{
java.lang.String[] v;
oadd.org.apache.hadoop.fs.shell.CommandFactory v;
v := @parameter: oadd.org.apache.hadoop.fs.shell.CommandFactory;
v = newarray (java.lang.String)[1];
v[0] = "-truncate";
virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFactory: void addClass(java.lang.Class,java.lang.String[])>(class "Loadd/org/apache/hadoop/fs/shell/Truncate;", v);
return;
}
protected void processOptions(java.util.LinkedList) throws java.io.IOException
{
java.lang.NumberFormatException v;
java.lang.String[] v;
long v, v;
oadd.org.apache.hadoop.fs.shell.CommandFormat v;
java.lang.IllegalArgumentException v;
oadd.org.apache.hadoop.fs.shell.Truncate v;
byte v;
java.lang.Object v;
java.util.LinkedList v;
boolean v;
v := @this: oadd.org.apache.hadoop.fs.shell.Truncate;
v := @parameter: java.util.LinkedList;
v = new oadd.org.apache.hadoop.fs.shell.CommandFormat;
v = newarray (java.lang.String)[1];
v[0] = "w";
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: void <init>(int,int,java.lang.String[])>(2, 2147483647, v);
virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: void parse(java.util.List)>(v);
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("w");
v.<oadd.org.apache.hadoop.fs.shell.Truncate: boolean waitOpt> = v;
label:
v = virtualinvoke v.<java.util.LinkedList: java.lang.Object removeFirst()>();
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength> = v;
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.Truncate: void displayWarning(java.lang.String)>("Illegal length, a non-negative integer expected");
throw v;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength>;
v = v cmp 0L;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("length must be >= 0");
throw v;
label:
return;
catch java.lang.NumberFormatException from label to label with label;
}
protected void processArguments(java.util.LinkedList) throws java.io.IOException
{
oadd.org.apache.hadoop.fs.shell.Truncate v;
java.util.LinkedList v;
boolean v;
v := @this: oadd.org.apache.hadoop.fs.shell.Truncate;
v := @parameter: java.util.LinkedList;
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.FsCommand: void processArguments(java.util.LinkedList)>(v);
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: boolean waitOpt>;
if v == 0 goto label;
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.Truncate: void waitForRecovery()>();
label:
return;
}
protected void processPath(oadd.org.apache.hadoop.fs.shell.PathData) throws java.io.IOException
{
oadd.org.apache.hadoop.fs.shell.PathData v;
oadd.org.apache.hadoop.fs.PathIsDirectoryException v;
long v, v, v, v, v, v;
oadd.org.apache.hadoop.fs.shell.Truncate v;
byte v;
java.lang.String v, v, v, v;
boolean v, v, v;
java.io.PrintStream v, v;
java.lang.IllegalArgumentException v;
java.util.List v;
oadd.org.apache.hadoop.fs.FileStatus v, v;
oadd.org.apache.hadoop.fs.Path v;
oadd.org.apache.hadoop.fs.FileSystem v;
v := @this: oadd.org.apache.hadoop.fs.shell.Truncate;
v := @parameter: oadd.org.apache.hadoop.fs.shell.PathData;
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileStatus stat>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v == 0 goto label;
v = new oadd.org.apache.hadoop.fs.PathIsDirectoryException;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.PathData: java.lang.String toString()>();
specialinvoke v.<oadd.org.apache.hadoop.fs.PathIsDirectoryException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileStatus stat>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FileStatus: long getLen()>();
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength>;
v = v cmp v;
if v <= 0 goto label;
v = new java.lang.IllegalArgumentException;
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,long)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot truncate to a larger file size. Current size: \u, truncate size: \u.");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileSystem fs>;
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.Path path>;
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FileSystem: boolean truncate(oadd.org.apache.hadoop.fs.Path,long)>(v, v);
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: java.io.PrintStream out>;
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.hadoop.fs.shell.PathData,long)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Truncated \u to length: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: boolean waitOpt>;
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: java.util.List waitList>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: java.io.PrintStream out>;
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.hadoop.fs.shell.PathData,long)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Truncating \u to length: \u. Wait for block recovery to complete before further updating this file.");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
return;
}
private void waitForRecovery() throws java.io.IOException
{
long v, v, v;
oadd.org.apache.hadoop.fs.shell.Truncate v;
byte v;
java.lang.String v, v;
boolean v;
java.io.PrintStream v, v, v, v;
java.util.Iterator v;
java.util.List v;
oadd.org.apache.hadoop.fs.FileStatus v;
java.lang.InterruptedException v;
java.lang.Object v;
v := @this: oadd.org.apache.hadoop.fs.shell.Truncate;
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: java.util.List waitList>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.hadoop.fs.shell.PathData)>(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[])>("Waiting for \u ...");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void flush()>();
label:
virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileStatus refreshStatus()>();
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileStatus stat>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FileStatus: long getLen()>();
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength>;
v = v cmp v;
if v == 0 goto label;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: java.io.PrintStream out>;
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: long newLength>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (oadd.org.apache.hadoop.fs.shell.PathData,long)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Truncated \u to length: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = v.<oadd.org.apache.hadoop.fs.shell.Truncate: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void flush()>();
goto label;
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
}