public final class org.apache.hadoop.hive.common.FileUtils extends java.lang.Object
{
private static final org.slf4j.Logger LOG;
private static final java.util.Random random;
public static final int IO_ERROR_SLEEP_TIME;
public static final org.apache.hadoop.fs.PathFilter HIDDEN_FILES_PATH_FILTER;
public static final org.apache.hadoop.fs.PathFilter STAGING_DIR_PATH_FILTER;
static java.util.BitSet charToEscape;
private static final char[] HEX_UPPER_CHARS;
public static org.apache.hadoop.fs.Path makeQualified(org.apache.hadoop.fs.Path, org.apache.hadoop.conf.Configuration) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v, v, v;
java.lang.String v, v, v, v, v;
java.net.URI v, v;
boolean v, v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: boolean isAbsolute()>();
if v != 0 goto label;
v = staticinvoke <org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileSystem get(org.apache.hadoop.conf.Configuration)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.Path makeQualified(org.apache.hadoop.fs.FileSystem)>(v);
return v;
label:
v = staticinvoke <org.apache.hadoop.fs.FileSystem: java.net.URI getDefaultUri(org.apache.hadoop.conf.Configuration)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.net.URI toUri()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getAuthority()>();
if v != null goto label;
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getAuthority()>();
if v != null goto label;
v = "";
goto label;
label:
if v != null goto label;
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.net.URI: java.lang.String getAuthority()>();
if v == null goto label;
v = virtualinvoke v.<java.net.URI: java.lang.String getAuthority()>();
goto label;
label:
v = "";
label:
v = new org.apache.hadoop.fs.Path;
v = virtualinvoke v.<java.net.URI: java.lang.String getPath()>();
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
return v;
}
private void <init>()
{
org.apache.hadoop.hive.common.FileUtils v;
v := @this: org.apache.hadoop.hive.common.FileUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.lang.String makePartName(java.util.List, java.util.List)
{
java.util.List v, v;
java.lang.String v;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.lang.String makePartName(java.util.List,java.util.List,java.lang.String)>(v, v, null);
return v;
}
public static java.lang.String makePartName(java.util.List, java.util.List, java.lang.String)
{
java.util.List v, v;
int v, v;
java.lang.Object v, v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v, v;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("/");
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.lang.String escapePathName(java.lang.String,java.lang.String)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(61);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.lang.String escapePathName(java.lang.String,java.lang.String)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String makeDefaultListBucketingDirName(java.util.List, java.lang.String)
{
java.util.List v;
int v, v;
java.lang.StringBuilder v;
java.lang.String v, v, v;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.lang.String escapePathName(java.lang.String)>(v);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("/");
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String makeListBucketingDirName(java.util.List, java.util.List)
{
java.util.List v, v;
int v, v;
java.lang.Object v, v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("/");
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.lang.String escapePathName(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(61);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.lang.String escapePathName(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
static boolean needsEscaping(char)
{
int v;
char v;
java.util.BitSet v, v;
boolean v, v;
v := @parameter: char;
v = <org.apache.hadoop.hive.common.FileUtils: java.util.BitSet charToEscape>;
v = virtualinvoke v.<java.util.BitSet: int size()>();
if v >= v goto label;
v = <org.apache.hadoop.hive.common.FileUtils: java.util.BitSet charToEscape>;
v = virtualinvoke v.<java.util.BitSet: boolean get(int)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.lang.String escapePathName(java.lang.String)
{
java.lang.String v, v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.lang.String escapePathName(java.lang.String,java.lang.String)>(v, null);
return v;
}
public static java.lang.String escapePathName(java.lang.String, java.lang.String)
{
short v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
boolean v, v;
char v, v, v, v, v;
char[] v, v;
java.lang.StringBuilder v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
if v != null goto label;
return "__HIVE_DEFAULT_PARTITION__";
label:
return v;
label:
v = (int) -1;
v = v;
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean needsEscaping(char)>(v);
if v == 0 goto label;
v = v;
goto label;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
if v != v goto label;
return v;
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, 0, v);
label:
v = v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean needsEscaping(char)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(37);
v = <org.apache.hadoop.hive.common.FileUtils: char[] HEX_UPPER_CHARS>;
v = 240 & v;
v = v >>> 4;
v = v[v];
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = <org.apache.hadoop.hive.common.FileUtils: char[] HEX_UPPER_CHARS>;
v = 15 & v;
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String unescapePathName(java.lang.String)
{
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
char v;
java.lang.Exception v;
java.lang.StringBuilder v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(37);
v = (int) -1;
if v != v goto label;
return v;
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, 0, v);
label:
v = v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 37 goto label;
v = v + 2;
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
label:
v = v + 1;
v = v + 3;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String,int)>(v, 16);
label:
goto label;
label:
v := @caughtexception;
v = (int) -1;
v = v;
label:
if v < 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v + 2;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
catch java.lang.Exception from label to label with label;
}
public static void listStatusRecursively(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, java.util.List) throws java.io.IOException
{
java.util.List v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.FileStatus v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean isS3a(org.apache.hadoop.fs.FileSystem)>(v);
if v == 0 goto label;
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void listS3FilesRecursive(org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.FileSystem,java.util.List)>(v, v, v);
goto label;
label:
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void generalListStatusRecursively(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,java.util.List)>(v, v, v);
label:
return;
}
private static void generalListStatusRecursively(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, java.util.List) throws java.io.IOException
{
org.apache.hadoop.fs.FileStatus[] v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.PathFilter v;
org.apache.hadoop.fs.FileStatus v, v;
java.util.List v;
int v, v;
org.apache.hadoop.fs.Path v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.Path getPath()>();
v = <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.PathFilter HIDDEN_FILES_PATH_FILTER>;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus[] listStatus(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.PathFilter)>(v, v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void generalListStatusRecursively(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,java.util.List)>(v, v, v);
v = v + 1;
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
private static void listS3FilesRecursive(org.apache.hadoop.fs.FileStatus, org.apache.hadoop.fs.FileSystem, java.util.List) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.PathFilter v;
org.apache.hadoop.fs.FileStatus v;
java.util.List v;
org.apache.hadoop.fs.Path v, v, v, v;
java.lang.Object v;
org.apache.hadoop.fs.RemoteIterator v;
boolean v, v, v;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.Path getPath()>();
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.RemoteIterator listFiles(org.apache.hadoop.fs.Path,boolean)>(v, 1);
label:
v = interfaceinvoke v.<org.apache.hadoop.fs.RemoteIterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.hadoop.fs.RemoteIterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.Path getPath()>();
v = virtualinvoke v.<org.apache.hadoop.fs.LocatedFileStatus: org.apache.hadoop.fs.Path getPath()>();
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.Path makeRelative(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path)>(v, v);
v = <org.apache.hadoop.hive.metastore.utils.FileUtils$RemoteIteratorWithFilter: org.apache.hadoop.fs.PathFilter HIDDEN_FILES_FULL_PATH_FILTER>;
v = interfaceinvoke v.<org.apache.hadoop.fs.PathFilter: boolean accept(org.apache.hadoop.fs.Path)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
public static org.apache.hadoop.fs.Path makeRelative(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path)
{
org.apache.hadoop.fs.Path v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v, v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.Path;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("/");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
goto label;
label:
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[])>("\u0001/");
label:
v = v;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("/");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
goto label;
label:
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[])>("\u0001/");
label:
v = new org.apache.hadoop.fs.Path;
v = virtualinvoke v.<java.lang.String: java.lang.String replaceFirst(java.lang.String,java.lang.String)>(v, "");
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
return v;
}
public static boolean isS3a(org.apache.hadoop.fs.FileSystem)
{
java.lang.UnsupportedOperationException v;
org.apache.hadoop.fs.FileSystem v;
java.lang.String v, v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
label:
v = "s3a";
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: java.lang.String getScheme()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
return 0;
catch java.lang.UnsupportedOperationException from label to label with label;
}
public static org.apache.hadoop.fs.FileStatus getPathOrParentThatExists(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.Path v, v;
org.apache.hadoop.fs.FileStatus v, v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.FileStatus getFileStatusOrNull(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)>(v, v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.Path getParent()>();
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.FileStatus getPathOrParentThatExists(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)>(v, v);
return v;
}
public static void checkFileAccessWithImpersonation(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, org.apache.hadoop.fs.permission.FsAction, java.lang.String) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.security.UserGroupInformation v;
java.lang.String v;
org.apache.hadoop.fs.FileStatus v;
org.apache.hadoop.fs.permission.FsAction v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: org.apache.hadoop.fs.permission.FsAction;
v := @parameter: java.lang.String;
v = null;
label:
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.security.UserGroupInformation getProxyUser(java.lang.String)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.FileSystem getFsAsUser(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.security.UserGroupInformation)>(v, v);
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void checkFileAccessWithImpersonation(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.permission.FsAction,java.lang.String,java.util.List,org.apache.hadoop.fs.FileSystem)>(v, v, v, v, null, v);
label:
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void closeFs(org.apache.hadoop.security.UserGroupInformation)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void closeFs(org.apache.hadoop.security.UserGroupInformation)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public static void checkFileAccessWithImpersonation(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, org.apache.hadoop.fs.permission.FsAction, java.lang.String, java.util.List, org.apache.hadoop.fs.FileSystem) throws java.io.IOException, java.security.AccessControlException, java.lang.InterruptedException, java.lang.Exception
{
org.apache.hadoop.hive.shims.HadoopShims v;
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.fs.FileStatus v;
org.apache.hadoop.fs.permission.FsAction v;
java.util.List v;
org.apache.hadoop.security.UserGroupInformation v, v, v;
org.apache.hadoop.hive.common.FileUtils$3 v;
org.apache.hadoop.fs.Path v;
java.lang.String v, v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: org.apache.hadoop.fs.permission.FsAction;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v = staticinvoke <org.apache.hadoop.hive.shims.Utils: org.apache.hadoop.security.UserGroupInformation getUGI()>();
v = virtualinvoke v.<org.apache.hadoop.security.UserGroupInformation: java.lang.String getShortUserName()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = staticinvoke <org.apache.hadoop.hive.shims.ShimLoader: org.apache.hadoop.hive.shims.HadoopShims getHadoopShims()>();
interfaceinvoke v.<org.apache.hadoop.hive.shims.HadoopShims: void checkFileAccess(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.permission.FsAction)>(v, v, v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.Path getPath()>();
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void addChildren(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,java.util.List)>(v, v, v);
return;
label:
v = staticinvoke <org.apache.hadoop.security.UserGroupInformation: org.apache.hadoop.security.UserGroupInformation getLoginUser()>();
v = staticinvoke <org.apache.hadoop.security.UserGroupInformation: org.apache.hadoop.security.UserGroupInformation createProxyUser(java.lang.String,org.apache.hadoop.security.UserGroupInformation)>(v, v);
v = new org.apache.hadoop.hive.common.FileUtils$3;
specialinvoke v.<org.apache.hadoop.hive.common.FileUtils$3: void <init>(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.permission.FsAction,java.util.List)>(v, v, v, v);
virtualinvoke v.<org.apache.hadoop.security.UserGroupInformation: java.lang.Object doAs(java.security.PrivilegedExceptionAction)>(v);
return;
}
private static void addChildren(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, java.util.List) throws java.io.IOException
{
org.apache.hadoop.fs.FileStatus[] v;
org.slf4j.Logger v;
org.apache.hadoop.fs.FileSystem v;
java.io.IOException v;
java.util.List v, v;
org.apache.hadoop.fs.Path v;
java.lang.String v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: java.util.List;
if v == null goto label;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus[] listStatus(org.apache.hadoop.fs.Path)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path,java.io.IOException)>(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[])>("Unable to list files under \u : \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
return;
catch java.io.IOException from label to label with label;
}
public static org.apache.hadoop.security.UserGroupInformation getProxyUser(java.lang.String) throws javax.security.auth.login.LoginException, java.io.IOException
{
org.apache.hadoop.security.UserGroupInformation v, v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.hadoop.hive.shims.Utils: org.apache.hadoop.security.UserGroupInformation getUGI()>();
v = virtualinvoke v.<org.apache.hadoop.security.UserGroupInformation: java.lang.String getShortUserName()>();
v = null;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = staticinvoke <org.apache.hadoop.security.UserGroupInformation: org.apache.hadoop.security.UserGroupInformation getLoginUser()>();
v = staticinvoke <org.apache.hadoop.security.UserGroupInformation: org.apache.hadoop.security.UserGroupInformation createProxyUser(java.lang.String,org.apache.hadoop.security.UserGroupInformation)>(v, v);
label:
return v;
}
public static void closeFs(org.apache.hadoop.security.UserGroupInformation) throws java.io.IOException
{
org.apache.hadoop.security.UserGroupInformation v;
v := @parameter: org.apache.hadoop.security.UserGroupInformation;
if v == null goto label;
staticinvoke <org.apache.hadoop.fs.FileSystem: void closeAllForUGI(org.apache.hadoop.security.UserGroupInformation)>(v);
label:
return;
}
public static org.apache.hadoop.fs.FileSystem getFsAsUser(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.security.UserGroupInformation) throws java.io.IOException, java.lang.InterruptedException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.hive.common.FileUtils$4 v;
org.apache.hadoop.security.UserGroupInformation v;
java.lang.Object v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.security.UserGroupInformation;
if v != null goto label;
return null;
label:
v = new org.apache.hadoop.hive.common.FileUtils$4;
specialinvoke v.<org.apache.hadoop.hive.common.FileUtils$4: void <init>(org.apache.hadoop.fs.FileSystem)>(v);
v = virtualinvoke v.<org.apache.hadoop.security.UserGroupInformation: java.lang.Object doAs(java.security.PrivilegedExceptionAction)>(v);
return v;
}
public static boolean isActionPermittedForFileHierarchy(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, java.lang.String, org.apache.hadoop.fs.permission.FsAction) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.fs.FileStatus v;
org.apache.hadoop.fs.permission.FsAction v;
org.apache.hadoop.security.UserGroupInformation v;
java.lang.String v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.fs.permission.FsAction;
v = null;
label:
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.security.UserGroupInformation getProxyUser(java.lang.String)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.FileSystem getFsAsUser(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.security.UserGroupInformation)>(v, v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean isActionPermittedForFileHierarchy(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,java.lang.String,org.apache.hadoop.fs.permission.FsAction,boolean,org.apache.hadoop.fs.FileSystem)>(v, v, v, v, 1, v);
label:
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void closeFs(org.apache.hadoop.security.UserGroupInformation)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void closeFs(org.apache.hadoop.security.UserGroupInformation)>(v);
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public static boolean isActionPermittedForFileHierarchy(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, java.lang.String, org.apache.hadoop.fs.permission.FsAction, boolean) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.fs.FileStatus v;
org.apache.hadoop.fs.permission.FsAction v;
org.apache.hadoop.security.UserGroupInformation v;
java.lang.String v;
boolean v, v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.fs.permission.FsAction;
v := @parameter: boolean;
v = null;
label:
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.security.UserGroupInformation getProxyUser(java.lang.String)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.FileSystem getFsAsUser(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.security.UserGroupInformation)>(v, v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean isActionPermittedForFileHierarchy(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,java.lang.String,org.apache.hadoop.fs.permission.FsAction,boolean,org.apache.hadoop.fs.FileSystem)>(v, v, v, v, v, v);
label:
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void closeFs(org.apache.hadoop.security.UserGroupInformation)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void closeFs(org.apache.hadoop.security.UserGroupInformation)>(v);
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public static boolean isActionPermittedForFileHierarchy(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, java.lang.String, org.apache.hadoop.fs.permission.FsAction, boolean, org.apache.hadoop.fs.FileSystem) throws java.lang.Exception
{
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.fs.FileStatus v;
org.apache.hadoop.fs.permission.FsAction v, v;
java.util.ArrayList v, v;
org.apache.hadoop.fs.Path v;
java.lang.String v, v;
boolean v, v, v, v, v;
org.slf4j.Logger v;
java.util.Iterator v;
java.security.AccessControlException v;
java.lang.Object v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.fs.permission.FsAction;
v := @parameter: boolean;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v == 0 goto label;
v = <org.apache.hadoop.fs.permission.FsAction: org.apache.hadoop.fs.permission.FsAction EXECUTE>;
virtualinvoke v.<org.apache.hadoop.fs.permission.FsAction: org.apache.hadoop.fs.permission.FsAction and(org.apache.hadoop.fs.permission.FsAction)>(v);
label:
v = null;
if v == 0 goto label;
if v == 0 goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v;
label:
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void checkFileAccessWithImpersonation(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.permission.FsAction,java.lang.String,java.util.List,org.apache.hadoop.fs.FileSystem)>(v, v, v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.Path getPath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.permission.FsAction,org.apache.hadoop.fs.Path,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[])>("Action \u denied on \u for user \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
return 0;
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
return 1;
label:
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 = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean isActionPermittedForFileHierarchy(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,java.lang.String,org.apache.hadoop.fs.permission.FsAction,boolean,org.apache.hadoop.fs.FileSystem)>(v, v, v, v, 1, v);
if v != 0 goto label;
return 0;
label:
return 1;
catch java.security.AccessControlException from label to label with label;
}
public static boolean isLocalFile(org.apache.hadoop.hive.conf.HiveConf, java.lang.String)
{
org.slf4j.Logger v;
java.net.URISyntaxException v;
org.apache.hadoop.hive.conf.HiveConf v;
java.lang.String v, v;
java.net.URI v;
boolean v;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: java.lang.String;
label:
v = new java.net.URI;
specialinvoke v.<java.net.URI: void <init>(java.lang.String)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean isLocalFile(org.apache.hadoop.hive.conf.HiveConf,java.net.URI)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
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[])>("Unable to create URI from \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
return 0;
catch java.net.URISyntaxException from label to label with label;
}
public static boolean isLocalFile(org.apache.hadoop.hive.conf.HiveConf, java.net.URI)
{
org.slf4j.Logger v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.hive.conf.HiveConf v;
java.io.IOException v;
java.lang.Class v;
java.lang.String v;
java.net.URI v;
boolean v;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: java.net.URI;
label:
v = staticinvoke <org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileSystem get(java.net.URI,org.apache.hadoop.conf.Configuration)>(v, v);
v = class "Lorg/apache/hadoop/fs/LocalFileSystem;";
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URI)>(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[])>("Unable to get FileSystem for \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
return 0;
catch java.io.IOException from label to label with label;
}
public static boolean isOwnerOfFileHierarchy(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, java.lang.String) throws java.io.IOException, java.lang.InterruptedException
{
org.apache.hadoop.fs.FileSystem v;
java.lang.String v;
org.apache.hadoop.fs.FileStatus v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean isOwnerOfFileHierarchy(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,java.lang.String,boolean)>(v, v, v, 1);
return v;
}
public static boolean isOwnerOfFileHierarchy(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, java.lang.String, boolean) throws java.io.IOException, java.lang.InterruptedException
{
java.lang.Throwable v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.FileStatus v;
org.apache.hadoop.hive.common.FileUtils$5 v;
org.apache.hadoop.security.UserGroupInformation v, v;
java.lang.Object v;
java.lang.String v;
boolean v, v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = staticinvoke <org.apache.hadoop.security.UserGroupInformation: org.apache.hadoop.security.UserGroupInformation getLoginUser()>();
v = staticinvoke <org.apache.hadoop.security.UserGroupInformation: org.apache.hadoop.security.UserGroupInformation createProxyUser(java.lang.String,org.apache.hadoop.security.UserGroupInformation)>(v, v);
label:
v = new org.apache.hadoop.hive.common.FileUtils$5;
specialinvoke v.<org.apache.hadoop.hive.common.FileUtils$5: void <init>(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,java.lang.String,boolean)>(v, v, v, v);
v = virtualinvoke v.<org.apache.hadoop.security.UserGroupInformation: java.lang.Object doAs(java.security.PrivilegedExceptionAction)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
label:
staticinvoke <org.apache.hadoop.fs.FileSystem: void closeAllForUGI(org.apache.hadoop.security.UserGroupInformation)>(v);
return v;
label:
v := @caughtexception;
staticinvoke <org.apache.hadoop.fs.FileSystem: void closeAllForUGI(org.apache.hadoop.security.UserGroupInformation)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public static boolean checkIsOwnerOfFileHierarchy(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, java.lang.String, boolean) throws java.io.IOException
{
org.apache.hadoop.fs.FileStatus[] v;
org.slf4j.Logger v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.FileStatus v, v;
java.io.FileNotFoundException v;
int v, v;
org.apache.hadoop.fs.Path v;
java.lang.String v, v;
boolean v, v, v, v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: java.lang.String getOwner()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v == 0 goto label;
if v != 0 goto label;
label:
return 1;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.Path getPath()>();
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus[] listStatus(org.apache.hadoop.fs.Path)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Skipping child access check since the directory is already removed");
return 1;
label:
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean checkIsOwnerOfFileHierarchy(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,java.lang.String,boolean)>(v, v, v, 1);
if v != 0 goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
catch java.io.FileNotFoundException from label to label with label;
}
public static boolean mkdir(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.conf.Configuration) throws java.io.IOException
{
org.slf4j.Logger v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v;
java.lang.String v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path)>(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[])>("Creating directory if it doesn\'t exist: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean mkdirs(org.apache.hadoop.fs.Path)>(v);
return v;
}
public static org.apache.hadoop.fs.Path makeAbsolute(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.Path v, v, v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: boolean isAbsolute()>();
if v == 0 goto label;
return v;
label:
v = new org.apache.hadoop.fs.Path;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.Path getWorkingDirectory()>();
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path)>(v, v);
return v;
}
public static boolean copy(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, boolean, boolean, org.apache.hadoop.hive.conf.HiveConf, org.apache.hadoop.hive.common.DataCopyStatistics) throws java.io.IOException
{
org.apache.hadoop.hive.shims.HadoopShims v;
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.hive.conf.HiveConf v;
org.apache.hadoop.hive.common.DataCopyStatistics v;
org.apache.hadoop.fs.Path v, v;
boolean v, v, v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: org.apache.hadoop.hive.common.DataCopyStatistics;
v = staticinvoke <org.apache.hadoop.hive.shims.ShimLoader: org.apache.hadoop.hive.shims.HadoopShims getHadoopShims()>();
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean copy(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,boolean,boolean,org.apache.hadoop.hive.conf.HiveConf,org.apache.hadoop.hive.shims.HadoopShims,org.apache.hadoop.hive.common.DataCopyStatistics)>(v, v, v, v, v, v, v, v, v);
return v;
}
static boolean copy(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, boolean, boolean, org.apache.hadoop.hive.conf.HiveConf, org.apache.hadoop.hive.shims.HadoopShims, org.apache.hadoop.hive.common.DataCopyStatistics) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.fs.FileStatus v;
byte v, v;
org.apache.hadoop.fs.Path v, v;
java.net.URI v;
boolean v, v, v, v, v, v;
org.apache.hadoop.hive.shims.HadoopShims v;
java.util.List v;
long v, v, v, v, v, v, v, v, v;
org.apache.hadoop.hive.common.DataCopyStatistics v;
org.apache.hadoop.fs.ContentSummary v;
org.apache.hadoop.hive.conf.HiveConf$ConfVars v, v, v, v;
java.lang.String v, v, v;
org.slf4j.Logger v, v, v;
org.apache.hadoop.hive.conf.HiveConf v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: org.apache.hadoop.hive.shims.HadoopShims;
v := @parameter: org.apache.hadoop.hive.common.DataCopyStatistics;
v = 0;
v = 0;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: java.net.URI getUri()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("hdfs");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.ContentSummary getContentSummary(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.ContentSummary: long getFileCount()>();
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_EXEC_COPYFILE_MAXNUMFILES>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: long getLongVar(org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v);
v = v cmp v;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.ContentSummary: long getLength()>();
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_EXEC_COPYFILE_MAXSIZE>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: long getLongVar(org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v);
v = v cmp v;
if v <= 0 goto label;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.fs.ContentSummary: long getLength()>();
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_EXEC_COPYFILE_MAXSIZE>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: long getLongVar(org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v);
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[])>("Source is \u bytes. (MAX: \u)");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.fs.ContentSummary: long getFileCount()>();
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_EXEC_COPYFILE_MAXNUMFILES>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: long getLongVar(org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v);
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[])>("Source is \u files. (MAX: \u)");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Launch distributed copy (distcp) job.");
v = 1;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean distCp(org.apache.hadoop.fs.FileSystem,java.util.List,org.apache.hadoop.fs.Path,boolean,org.apache.hadoop.security.UserGroupInformation,org.apache.hadoop.hive.conf.HiveConf,org.apache.hadoop.hive.shims.HadoopShims)>(v, v, v, v, null, v, v);
v = virtualinvoke v.<org.apache.hadoop.fs.ContentSummary: long getLength()>();
virtualinvoke v.<org.apache.hadoop.hive.common.DataCopyStatistics: void incrementBytesCopiedCounter(long)>(v);
label:
if v != 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean shouldPreserveXAttrs(org.apache.hadoop.hive.conf.HiveConf,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)>(v, v, v, v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean doIOUtilsCopyBytes(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,boolean,boolean,boolean,org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.common.DataCopyStatistics)>(v, v, v, v, v, v, v, v, v);
label:
return v;
}
public static boolean doIOUtilsCopyBytes(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileStatus, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, boolean, boolean, boolean, org.apache.hadoop.conf.Configuration, org.apache.hadoop.hive.common.DataCopyStatistics) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v, v;
long v;
org.apache.hadoop.hive.common.DataCopyStatistics v;
org.apache.hadoop.fs.FileStatus v, v, v;
org.apache.hadoop.fs.FSDataOutputStream v;
org.apache.hadoop.conf.Configuration v;
int v, v;
org.apache.hadoop.fs.Path v, v, v, v, v;
java.lang.String v, v;
org.apache.hadoop.fs.FSDataInputStream v;
boolean v, v, v, v, v, v;
org.apache.hadoop.fs.FileStatus[] v;
java.io.IOException v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileStatus;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: org.apache.hadoop.hive.common.DataCopyStatistics;
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 getName()>();
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.Path checkDest(java.lang.String,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,boolean)>(v, v, v, v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v == 0 goto label;
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void checkDependencies(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)>(v, v, v, v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean mkdirs(org.apache.hadoop.fs.Path)>(v);
if v != 0 goto label;
return 0;
label:
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 = new org.apache.hadoop.fs.Path;
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 getName()>();
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(org.apache.hadoop.fs.Path,java.lang.String)>(v, v);
staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean doIOUtilsCopyBytes(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,boolean,boolean,boolean,org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.common.DataCopyStatistics)>(v, v, v, v, v, v, v, v, v);
v = v + 1;
goto label;
label:
if v == 0 goto label;
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void preserveXAttr(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)>(v, v, v, v);
goto label;
label:
v = null;
v = null;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FSDataInputStream open(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FSDataOutputStream create(org.apache.hadoop.fs.Path,boolean)>(v, v);
staticinvoke <org.apache.hadoop.io.IOUtils: void copyBytes(java.io.InputStream,java.io.OutputStream,org.apache.hadoop.conf.Configuration,boolean)>(v, v, v, 1);
if v == 0 goto label;
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void preserveXAttr(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)>(v, v, v, v);
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: long getLen()>();
virtualinvoke v.<org.apache.hadoop.hive.common.DataCopyStatistics: void incrementBytesCopiedCounter(long)>(v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.apache.hadoop.io.IOUtils: void closeStream(java.io.Closeable)>(v);
staticinvoke <org.apache.hadoop.io.IOUtils: void closeStream(java.io.Closeable)>(v);
throw v;
label:
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean delete(org.apache.hadoop.fs.Path,boolean)>(v, 1);
goto label;
label:
v = 1;
label:
return v;
catch java.io.IOException from label to label with label;
}
public static boolean copy(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path[], org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, boolean, boolean, boolean, org.apache.hadoop.conf.Configuration, org.apache.hadoop.hive.common.DataCopyStatistics) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.fs.FileStatus v, v, v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v, v, v;
boolean v, v, v, v, v, v, v, v;
java.io.FileNotFoundException v;
java.lang.StringBuilder v;
org.apache.hadoop.hive.common.DataCopyStatistics v;
int v, v, v;
java.lang.String v, v, v, v;
java.io.IOException v, v, v, v;
org.apache.hadoop.fs.Path[] v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path[];
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: org.apache.hadoop.hive.common.DataCopyStatistics;
v = 0;
v = 1;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = lengthof v;
if v != 1 goto label;
v = v[0];
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean doIOUtilsCopyBytes(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,boolean,boolean,boolean,org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.common.DataCopyStatistics)>(v, v, v, v, v, v, v, v, v);
return v;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v != 0 goto label;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path)>(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[])>("copying multiple files, but last argument `\u0001\' is not a directory");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path)>(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\': specified destination directory does not exist");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean doIOUtilsCopyBytes(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,boolean,boolean,boolean,org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.common.DataCopyStatistics)>(v, v, v, v, v, v, v, v, v);
if v != 0 goto label;
v = 0;
label:
goto label;
label:
v := @caughtexception;
v = 1;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
label:
v = v + 1;
goto label;
label:
if v == 0 goto label;
v = new java.io.IOException;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
catch java.io.FileNotFoundException from label to label with label;
catch java.io.IOException from label to label with label;
}
private static void preserveXAttr(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path) throws java.io.IOException
{
java.util.Iterator v;
org.apache.hadoop.fs.FileSystem v, v;
java.util.Set v;
java.util.Map v;
org.apache.hadoop.fs.Path v, v;
java.lang.Object v, v, v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: java.util.Map getXAttrs(org.apache.hadoop.fs.Path)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: void setXAttr(org.apache.hadoop.fs.Path,java.lang.String,byte[])>(v, v, v);
goto label;
label:
return;
}
private static org.apache.hadoop.fs.Path checkDest(java.lang.String, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, boolean) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.PathIsDirectoryException v;
org.apache.hadoop.fs.FileStatus v;
java.io.FileNotFoundException v;
org.apache.hadoop.fs.PathExistsException v;
org.apache.hadoop.fs.Path v, v, v;
java.lang.String v, v, v, v, v;
boolean v, v;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: boolean;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
label:
goto label;
label:
v := @caughtexception;
v = null;
label:
if null == v goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v == 0 goto label;
if null != v goto label;
v = new org.apache.hadoop.fs.PathIsDirectoryException;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
specialinvoke v.<org.apache.hadoop.fs.PathIsDirectoryException: void <init>(java.lang.String)>(v);
throw v;
label:
v = null;
v = new org.apache.hadoop.fs.Path;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(org.apache.hadoop.fs.Path,java.lang.String)>(v, v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.Path checkDest(java.lang.String,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,boolean)>(v, v, v, v);
return v;
label:
if v != 0 goto label;
v = new org.apache.hadoop.fs.PathExistsException;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path)>(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[])>("Target \u already exists");
specialinvoke v.<org.apache.hadoop.fs.PathExistsException: void <init>(java.lang.String,java.lang.String)>(v, v);
throw v;
label:
return v;
catch java.io.FileNotFoundException from label to label with label;
}
private static void checkDependencies(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v, v;
java.io.IOException v;
int v, v;
org.apache.hadoop.fs.Path v, v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
if v != v goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.Path makeQualified(org.apache.hadoop.fs.Path)>(v);
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[])>("\u0001/");
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.Path makeQualified(org.apache.hadoop.fs.Path)>(v);
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[])>("\u0001/");
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
if v == 0 goto label;
v = new java.io.IOException;
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != v goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path)>(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 copy \u to itself.");
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path)>(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 copy \u to its subdirectory \u0001");
label:
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public static boolean shouldPreserveXAttrs(org.apache.hadoop.hive.conf.HiveConf, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.hive.conf.HiveConf$ConfVars v;
java.util.Map v;
org.apache.hadoop.fs.Path v, v, v;
java.lang.String v;
java.net.URI v;
boolean v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
org.apache.hadoop.hive.conf.HiveConf v;
java.util.Set v;
java.lang.Object v, v;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars DFS_XATTR_ONLY_SUPPORTED_ON_RESERVED_NAMESPACE>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: boolean getBoolVar(org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.net.URI toUri()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getPath()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/.reserved/raw/");
if v == 0 goto label;
v = new org.apache.hadoop.fs.Path;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>("/.reserved/raw/");
v = staticinvoke <org.apache.hadoop.hive.shims.Utils: boolean checkFileSystemXAttrSupport(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)>(v, v);
if v == 0 goto label;
v = new org.apache.hadoop.fs.Path;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>("/.reserved/raw/");
v = staticinvoke <org.apache.hadoop.hive.shims.Utils: boolean checkFileSystemXAttrSupport(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path)>(v, v);
if v != 0 goto label;
label:
return 0;
label:
v = staticinvoke <org.apache.hadoop.hive.shims.Utils: boolean checkFileSystemXAttrSupport(org.apache.hadoop.fs.FileSystem)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.hadoop.hive.shims.Utils: boolean checkFileSystemXAttrSupport(org.apache.hadoop.fs.FileSystem)>(v);
if v != 0 goto label;
label:
return 0;
label:
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: java.util.Map getPropsWithPrefix(java.lang.String)>("distcp.options.");
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("p");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("x");
return v;
label:
return 1;
}
public static boolean distCp(org.apache.hadoop.fs.FileSystem, java.util.List, org.apache.hadoop.fs.Path, boolean, org.apache.hadoop.security.UserGroupInformation, org.apache.hadoop.hive.conf.HiveConf, org.apache.hadoop.hive.shims.HadoopShims) throws java.io.IOException
{
java.lang.Object[] v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.security.UserGroupInformation v;
org.apache.hadoop.fs.Path v;
java.lang.String v, v;
boolean v, v, v;
org.apache.hadoop.hive.shims.HadoopShims v;
org.slf4j.Logger v;
java.util.Iterator v;
org.apache.hadoop.hive.conf.HiveConf v;
java.io.IOException v;
java.util.List v;
java.lang.Object v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: java.util.List;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: boolean;
v := @parameter: org.apache.hadoop.security.UserGroupInformation;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: org.apache.hadoop.hive.shims.HadoopShims;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = staticinvoke <org.apache.hadoop.util.StringUtils: java.lang.String join(java.lang.CharSequence,java.lang.Iterable)>(",", v);
v[0] = v;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("copying srcPaths : {}, to DestPath :{} ,with doAs: {}", v);
if v != null goto label;
v = interfaceinvoke v.<org.apache.hadoop.hive.shims.HadoopShims: boolean runDistCp(java.util.List,org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)>(v, v, v);
goto label;
label:
v = interfaceinvoke v.<org.apache.hadoop.hive.shims.HadoopShims: boolean runDistCpAs(java.util.List,org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration,org.apache.hadoop.security.UserGroupInformation)>(v, v, v, v);
label:
if v == 0 goto label;
if v == 0 goto label;
if v == null goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Distcp is called with doAsUser and delete source set as true");
throw v;
label:
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()>();
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean delete(org.apache.hadoop.fs.Path,boolean)>(v, 1);
goto label;
label:
return v;
}
public static boolean distCpWithSnapshot(java.lang.String, java.lang.String, java.util.List, org.apache.hadoop.fs.Path, boolean, org.apache.hadoop.hive.conf.HiveConf, org.apache.hadoop.hive.shims.HadoopShims, org.apache.hadoop.security.UserGroupInformation)
{
org.apache.hadoop.hive.shims.HadoopShims v;
java.lang.Object[] v;
org.slf4j.Logger v, v;
org.apache.hadoop.hive.conf.HiveConf v;
java.io.IOException v;
java.util.List v;
org.apache.hadoop.security.UserGroupInformation v;
org.apache.hadoop.fs.Path v;
java.lang.String v, v;
boolean v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: boolean;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: org.apache.hadoop.hive.shims.HadoopShims;
v := @parameter: org.apache.hadoop.security.UserGroupInformation;
v = 0;
label:
if v != null goto label;
v = interfaceinvoke v.<org.apache.hadoop.hive.shims.HadoopShims: boolean runDistCpWithSnapshots(java.lang.String,java.lang.String,java.util.List,org.apache.hadoop.fs.Path,boolean,org.apache.hadoop.conf.Configuration)>(v, v, v, v, v, v);
goto label;
label:
v = interfaceinvoke v.<org.apache.hadoop.hive.shims.HadoopShims: boolean runDistCpWithSnapshotsAs(java.lang.String,java.lang.String,java.util.List,org.apache.hadoop.fs.Path,boolean,org.apache.hadoop.security.UserGroupInformation,org.apache.hadoop.conf.Configuration)>(v, v, v, v, v, v, v);
label:
if v == 0 goto label;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("Successfully copied using snapshots source {} and dest {} using snapshots {} and {}", v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Can not copy using snapshot from source: {}, target: {}", v, v);
label:
return v;
catch java.io.IOException from label to label with label;
}
public static boolean moveToTrash(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.conf.Configuration, boolean) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
org.slf4j.Logger v, v, v, v, v;
java.io.IOException v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: boolean;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path)>(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 debug(java.lang.String)>(v);
label:
if v == 0 goto label;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path)>(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[])>("purge is set to true. Not moving to Trash \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
goto label;
label:
v = staticinvoke <org.apache.hadoop.fs.Trash: boolean moveToAppropriateTrash(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)>(v, v, v);
if v == 0 goto label;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path)>(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[])>("Moved to trash: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>(v);
label:
return 1;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.io.IOException: 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[])>("\u; Force to delete it.");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean delete(org.apache.hadoop.fs.Path,boolean)>(v, 1);
if v != 0 goto label;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path)>(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[])>("Failed to delete \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
label:
return v;
catch java.io.IOException from label to label with label;
}
public static boolean rename(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path, org.apache.hadoop.conf.Configuration) throws java.io.IOException
{
org.slf4j.Logger v;
org.apache.hadoop.fs.FileSystem v;
java.io.IOException v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v, v;
java.lang.String v;
boolean v, v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path)>(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[])>("Renaming \u to \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean exists(org.apache.hadoop.fs.Path)>(v);
if v == 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Cannot rename the source path. The destination path already exists.");
throw v;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean rename(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path)>(v, v);
return v;
}
public static boolean equalsFileSystem(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileSystem)
{
org.apache.hadoop.fs.FileSystem v, v;
java.net.URI v, v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: java.net.URI getUri()>();
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: java.net.URI getUri()>();
v = virtualinvoke v.<java.net.URI: boolean equals(java.lang.Object)>(v);
return v;
}
public static void checkDeletePermission(org.apache.hadoop.fs.Path, org.apache.hadoop.conf.Configuration, java.lang.String) throws java.security.AccessControlException, java.lang.InterruptedException, java.lang.Exception
{
java.lang.Object[] v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.FileStatus v, v, v;
org.apache.hadoop.fs.permission.FsAction v;
org.apache.hadoop.fs.permission.FsPermission v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v, v;
java.lang.String v, v, v, v;
boolean v, v, v, v;
org.apache.hadoop.hive.shims.HadoopShims v;
java.io.IOException v;
java.io.FileNotFoundException v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: java.lang.String;
if v != null goto label;
return;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.FileSystem getFileSystem(org.apache.hadoop.conf.Configuration)>(v);
v = null;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
if v != null goto label;
return;
label:
v = <org.apache.hadoop.fs.permission.FsAction: org.apache.hadoop.fs.permission.FsAction WRITE>;
staticinvoke <org.apache.hadoop.hive.common.FileUtils: void checkFileAccessWithImpersonation(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileStatus,org.apache.hadoop.fs.permission.FsAction,java.lang.String)>(v, v, v, v);
v = staticinvoke <org.apache.hadoop.hive.shims.ShimLoader: org.apache.hadoop.hive.shims.HadoopShims getHadoopShims()>();
v = interfaceinvoke v.<org.apache.hadoop.hive.shims.HadoopShims: boolean supportStickyBit()>();
if v != 0 goto label;
return;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.Path getParent()>();
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.permission.FsPermission getPermission()>();
v = interfaceinvoke v.<org.apache.hadoop.hive.shims.HadoopShims: boolean hasStickyBit(org.apache.hadoop.fs.permission.FsPermission)>(v);
if v != 0 goto label;
return;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: java.lang.String getOwner()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: java.lang.String getOwner()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return;
label:
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Permission Denied: User %s can\'t delete %s because sticky bit is set on the parent dir and user does not own this file or its parent", v);
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
catch java.io.FileNotFoundException from label to label with label;
}
public static org.apache.hadoop.fs.FileStatus getFileStatusOrNull(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.Path v;
org.apache.hadoop.fs.FileStatus v;
java.io.FileNotFoundException v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
label:
return v;
label:
v := @caughtexception;
return null;
catch java.io.FileNotFoundException from label to label with label;
}
public static void deleteDirectory(java.io.File) throws java.io.IOException
{
java.io.File v;
v := @parameter: java.io.File;
staticinvoke <org.apache.commons.io.FileUtils: void deleteDirectory(java.io.File)>(v);
return;
}
public static java.io.File createTempFile(java.lang.String, java.lang.String, java.lang.String) throws java.io.IOException
{
java.lang.RuntimeException v;
java.io.File v, v, v;
java.lang.String v, v, v, v;
boolean v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v != null goto label;
v = null;
goto label;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
label:
v = v;
if v == null goto label;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: boolean mkdirs()>();
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = new java.lang.RuntimeException;
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[])>("Unable to create temp directory \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>(v, v, v);
staticinvoke <org.apache.hive.common.util.ShutdownHookManager: void deleteOnExit(java.io.File)>(v);
return v;
}
public static java.io.File createLocalDirsTempFile(java.lang.String, java.lang.String, java.lang.String, boolean) throws java.io.IOException
{
java.lang.String[] v;
java.util.Random v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v;
org.slf4j.Logger v;
java.io.IOException v;
java.io.File v, v, v, v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.io.File createFileInTmp(java.lang.String,java.lang.String,java.lang.String,boolean)>(v, v, "Local directories not specified", v);
return v;
label:
v = staticinvoke <org.apache.hadoop.util.StringUtils: java.lang.String[] getTrimmedStrings(java.lang.String)>(v);
v = lengthof v;
if v != 0 goto label;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.io.File createFileInTmp(java.lang.String,java.lang.String,java.lang.String,boolean)>(v, v, "Local directories not specified", v);
return v;
label:
v = <org.apache.hadoop.hive.common.FileUtils: java.util.Random random>;
v = lengthof v;
v = virtualinvoke v.<java.util.Random: int nextInt(int)>(v);
v = v[v];
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.io.File createFileInTmp(java.lang.String,java.lang.String,java.lang.String,boolean)>(v, v, "Empty path for one of the local dirs", v);
return v;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: boolean mkdirs()>();
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.File)>(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 access or create \u0001");
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.io.File createFileInTmp(java.lang.String,java.lang.String,java.lang.String,boolean)>(v, v, v, v);
return v;
label:
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String,java.io.File)>(v, v, v);
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: boolean delete()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: boolean mkdirs()>();
if v != 0 goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.File)>(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 recreate \u as directory");
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.io.File createFileInTmp(java.lang.String,java.lang.String,java.lang.String,boolean)>(v, v, v, v);
label:
return v;
label:
virtualinvoke v.<java.io.File: void deleteOnExit()>();
label:
return v;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.File)>(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[])>("Error creating a file in \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.File)>(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 create a file in \u0001");
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.io.File createFileInTmp(java.lang.String,java.lang.String,java.lang.String,boolean)>(v, v, v, v);
return v;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
private static java.io.File createFileInTmp(java.lang.String, java.lang.String, java.lang.String, boolean) throws java.io.IOException
{
org.slf4j.Logger v;
java.io.IOException v;
java.io.File v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: boolean delete()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: boolean mkdirs()>();
if v != 0 goto label;
label:
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.File)>(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 recreate \u as directory");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<java.io.File: void deleteOnExit()>();
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u; created a tmp file: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
return v;
}
public static java.io.File createLocalDirsTempFile(org.apache.hadoop.conf.Configuration, java.lang.String, java.lang.String, boolean) throws java.io.IOException
{
org.apache.hadoop.conf.Configuration v;
java.lang.String v, v, v;
java.io.File v;
boolean v;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>("yarn.nodemanager.local-dirs");
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.io.File createLocalDirsTempFile(java.lang.String,java.lang.String,java.lang.String,boolean)>(v, v, v, v);
return v;
}
public static boolean deleteTmpFile(java.io.File)
{
java.io.File v;
v := @parameter: java.io.File;
if v == null goto label;
virtualinvoke v.<java.io.File: boolean delete()>();
staticinvoke <org.apache.hive.common.util.ShutdownHookManager: void cancelDeleteOnExit(java.io.File)>(v);
return 1;
label:
return 0;
}
public static boolean pathsContainNoScheme(java.util.Collection)
{
java.util.Iterator v;
java.util.Collection v;
java.lang.Object v;
java.lang.String v;
java.net.URI v;
boolean v;
v := @parameter: java.util.Collection;
v = interfaceinvoke v.<java.util.Collection: 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 = virtualinvoke v.<org.apache.hadoop.fs.Path: java.net.URI toUri()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
if v == null goto label;
return 0;
label:
return 1;
}
public static org.apache.hadoop.fs.Path getParentRegardlessOfScheme(org.apache.hadoop.fs.Path, java.util.Collection)
{
java.util.Collection v;
org.apache.hadoop.fs.Path v, v;
boolean v, v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: java.util.Collection;
v = staticinvoke <org.apache.hadoop.fs.Path: org.apache.hadoop.fs.Path getPathWithoutSchemeAndAuthority(org.apache.hadoop.fs.Path)>(v);
label:
if v == null goto label;
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return v;
label:
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.Path getParent()>();
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.Path getParent()>();
goto label;
label:
return null;
}
public static boolean isPathWithinSubtree(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path)
{
int v;
org.apache.hadoop.fs.Path v, v;
boolean v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.Path;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: int depth()>();
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean isPathWithinSubtree(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path,int)>(v, v, v);
return v;
}
private static boolean isPathWithinSubtree(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path, int)
{
int v, v;
org.apache.hadoop.fs.Path v, v;
boolean v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: int;
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: int depth()>();
if v <= v goto label;
return 0;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return 1;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.Path getParent()>();
goto label;
label:
return 0;
}
public static void populateParentPaths(java.util.Set, org.apache.hadoop.fs.Path)
{
java.util.Set v;
org.apache.hadoop.fs.Path v;
v := @parameter: java.util.Set;
v := @parameter: org.apache.hadoop.fs.Path;
if v != null goto label;
return;
label:
if v == null goto label;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.Path getParent()>();
goto label;
label:
return;
}
public static java.net.URI getURI(java.lang.String) throws java.net.URISyntaxException
{
java.lang.String v, v;
java.net.URI v, v;
java.io.File v;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = new java.net.URI;
specialinvoke v.<java.net.URI: void <init>(java.lang.String)>(v);
v = v;
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
if v != null goto label;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
label:
return v;
}
public static java.util.Set getJarFilesByPath(java.lang.String, org.apache.hadoop.conf.Configuration)
{
org.apache.hadoop.fs.FileSystem v;
java.lang.String[] v;
org.apache.hadoop.fs.FileStatus v, v;
org.apache.hadoop.fs.GlobFilter v;
java.util.HashSet v;
org.apache.hadoop.conf.Configuration v;
int v, v, v, v;
org.apache.hadoop.fs.Path v, v;
java.lang.String v, v, v, v;
java.net.URI v, v, v;
boolean v, v;
org.apache.hadoop.fs.FileStatus[] v;
org.slf4j.Logger v, v;
java.util.Set v;
java.io.FileNotFoundException v;
java.lang.Exception v;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
return v;
label:
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(",");
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
label:
v = new org.apache.hadoop.fs.Path;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.net.URI getURI(java.lang.String)>(v);
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.net.URI)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.FileSystem getFileSystem(org.apache.hadoop.conf.Configuration)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v == 0 goto label;
v = new org.apache.hadoop.fs.GlobFilter;
specialinvoke v.<org.apache.hadoop.fs.GlobFilter: void <init>(java.lang.String)>("*.jar");
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus[] listStatus(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.PathFilter)>(v, v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.Path getPath()>();
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.net.URI toUri()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.net.URI toUri()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("The jar file path {} does not exist", v);
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Invalid file path {}", v, v);
label:
v = v + 1;
goto label;
label:
return v;
catch java.io.FileNotFoundException from label to label with label;
catch java.net.URISyntaxException from label to label with label;
catch java.io.IOException from label to label with label;
}
public static void readFully(java.io.InputStream, int, java.nio.ByteBuffer) throws java.io.IOException
{
byte[] v;
java.nio.ByteBuffer v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v;
java.io.EOFException v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: int;
v := @parameter: java.nio.ByteBuffer;
v = 0;
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasArray()>();
if v == 0 goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: byte[] array()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int arrayOffset()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + v;
goto label;
label:
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = newarray (byte)[v];
label:
v = v;
label:
if v <= 0 goto label;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, v, v);
if v >= 0 goto label;
v = new java.io.EOFException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Reading \u bytes");
specialinvoke v.<java.io.EOFException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + v;
v = v - v;
goto label;
label:
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasArray()>();
if v != 0 goto label;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte[])>(v);
goto label;
label:
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer position(int)>(v);
label:
return;
}
public static int getSleepTime(int)
{
int v, v;
double v;
v := @parameter: int;
v = staticinvoke <java.lang.Math: double pow(double,double)>(2.0, v);
v = 100 * v;
return v;
}
public static void deleteIfExists(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path)
{
org.slf4j.Logger v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.Path v;
java.io.IOException v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
label:
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean delete(org.apache.hadoop.fs.Path,boolean)>(v, 1);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Unable to delete {}", v, v);
label:
return;
catch java.io.IOException from label to label with label;
}
public static org.apache.hadoop.fs.RemoteIterator listStatusIterator(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.PathFilter) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.Path v;
org.apache.hadoop.fs.PathFilter v;
org.apache.hadoop.fs.RemoteIterator v, v;
org.apache.hadoop.util.functional.FunctionRaisingIOE v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.PathFilter;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.RemoteIterator listStatusIterator(org.apache.hadoop.fs.Path)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils$lambda_listStatusIterator_0__1: org.apache.hadoop.util.functional.FunctionRaisingIOE bootstrap$(org.apache.hadoop.fs.PathFilter)>(v);
v = staticinvoke <org.apache.hadoop.util.functional.RemoteIterators: org.apache.hadoop.fs.RemoteIterator filteringRemoteIterator(org.apache.hadoop.fs.RemoteIterator,org.apache.hadoop.util.functional.FunctionRaisingIOE)>(v, v);
return v;
}
public static org.apache.hadoop.fs.RemoteIterator listFiles(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, boolean, org.apache.hadoop.fs.PathFilter) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.Path v;
org.apache.hadoop.fs.PathFilter v;
org.apache.hadoop.fs.RemoteIterator v, v;
org.apache.hadoop.util.functional.FunctionRaisingIOE v;
boolean v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: boolean;
v := @parameter: org.apache.hadoop.fs.PathFilter;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.RemoteIterator listFiles(org.apache.hadoop.fs.Path,boolean)>(v, v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils$lambda_listFiles_1__2: org.apache.hadoop.util.functional.FunctionRaisingIOE bootstrap$(org.apache.hadoop.fs.PathFilter)>(v);
v = staticinvoke <org.apache.hadoop.util.functional.RemoteIterators: org.apache.hadoop.fs.RemoteIterator filteringRemoteIterator(org.apache.hadoop.fs.RemoteIterator,org.apache.hadoop.util.functional.FunctionRaisingIOE)>(v, v);
return v;
}
public static org.apache.hadoop.fs.Path resolveSymlinks(org.apache.hadoop.fs.Path, org.apache.hadoop.conf.Configuration) throws java.io.IOException
{
java.net.URISyntaxException v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v, v, v, v;
java.lang.String v, v, v, v, v, v;
java.net.URI v, v, v;
java.nio.file.Path v, v;
boolean v;
org.slf4j.Logger v, v, v;
java.nio.file.LinkOption[] v;
java.lang.IllegalArgumentException v;
java.lang.Exception v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.conf.Configuration;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Cannot resolve symlink for a null Path");
throw v;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.net.URI toUri()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
if v == null goto label;
v = "file";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("scheme \'{}\' is not supported for resolving symlinks", v);
return v;
label:
if v != null goto label;
label:
v = new java.net.URI;
v = virtualinvoke v.<java.net.URI: java.lang.String getAuthority()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
specialinvoke v.<java.net.URI: void <init>(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>("file", v, v, null, null);
v = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("URISyntaxException while creating uri from path without scheme {}", v, v);
return v;
label:
v = staticinvoke <java.nio.file.Paths: java.nio.file.Path get(java.net.URI)>(v);
v = newarray (java.nio.file.LinkOption)[0];
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path toRealPath(java.nio.file.LinkOption[])>(v);
v = interfaceinvoke v.<java.nio.file.Path: java.net.URI toUri()>();
v = new org.apache.hadoop.fs.Path;
v = virtualinvoke v.<java.net.URI: java.lang.String getAuthority()>();
v = new org.apache.hadoop.fs.Path;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.net.URI)>(v);
v = staticinvoke <org.apache.hadoop.fs.Path: org.apache.hadoop.fs.Path getPathWithoutSchemeAndAuthority(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Exception while calling toRealPath of {}", v, v);
return v;
catch java.net.URISyntaxException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public static boolean isEqualFileSystemAndSameOzoneBucket(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path)
{
org.apache.hadoop.fs.FileSystem v, v;
org.apache.hadoop.fs.Path v, v;
java.lang.String v, v;
boolean v, v, v, v;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.Path;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean equalsFileSystem(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.FileSystem)>(v, v);
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: java.lang.String getScheme()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("ofs");
if v != 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: java.lang.String getScheme()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("o3fs");
if v == 0 goto label;
label:
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: boolean isSameOzoneBucket(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path)>(v, v);
return v;
label:
return 1;
}
public static boolean isSameOzoneBucket(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path)
{
java.lang.String[] v, v;
org.apache.hadoop.fs.Path v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.Path;
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.lang.String[] getVolumeAndBucket(org.apache.hadoop.fs.Path)>(v);
v = staticinvoke <org.apache.hadoop.hive.common.FileUtils: java.lang.String[] getVolumeAndBucket(org.apache.hadoop.fs.Path)>(v);
v = v[0];
if v != null goto label;
v = v[0];
if v == null goto label;
label:
v = v[0];
if v == null goto label;
v = v[0];
v = v[0];
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
label:
v = v[1];
if v != null goto label;
v = v[1];
if v == null goto label;
label:
v = v[1];
if v == null goto label;
v = v[1];
v = v[1];
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static java.lang.String[] getVolumeAndBucket(org.apache.hadoop.fs.Path)
{
java.lang.String[] v, v, v;
java.util.StringTokenizer v;
int v;
org.apache.hadoop.fs.Path v;
java.lang.String v, v, v, v;
java.net.URI v;
v := @parameter: org.apache.hadoop.fs.Path;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.net.URI toUri()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getPath()>();
v = new java.util.StringTokenizer;
specialinvoke v.<java.util.StringTokenizer: void <init>(java.lang.String,java.lang.String)>(v, "/");
v = virtualinvoke v.<java.util.StringTokenizer: int countTokens()>();
if v < 2 goto label;
v = newarray (java.lang.String)[2];
v = virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
v[0] = v;
v = virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
v[1] = v;
return v;
label:
if v != 1 goto label;
v = newarray (java.lang.String)[2];
v = virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
v[0] = v;
v[1] = null;
return v;
label:
v = newarray (java.lang.String)[2];
v[0] = null;
v[1] = null;
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
java.util.Random v;
org.apache.hadoop.hive.common.FileUtils$2 v;
org.apache.hadoop.hive.common.FileUtils$1 v;
java.lang.Class v;
java.lang.String v;
java.util.BitSet v, v;
v = class "Lorg/apache/hadoop/hive/common/FileUtils;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.String)>(v);
<org.apache.hadoop.hive.common.FileUtils: org.slf4j.Logger LOG> = v;
v = new java.util.Random;
specialinvoke v.<java.util.Random: void <init>()>();
<org.apache.hadoop.hive.common.FileUtils: java.util.Random random> = v;
v = new org.apache.hadoop.hive.common.FileUtils$1;
specialinvoke v.<org.apache.hadoop.hive.common.FileUtils$1: void <init>()>();
<org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.PathFilter HIDDEN_FILES_PATH_FILTER> = v;
v = new org.apache.hadoop.hive.common.FileUtils$2;
specialinvoke v.<org.apache.hadoop.hive.common.FileUtils$2: void <init>()>();
<org.apache.hadoop.hive.common.FileUtils: org.apache.hadoop.fs.PathFilter STAGING_DIR_PATH_FILTER> = v;
v = new java.util.BitSet;
specialinvoke v.<java.util.BitSet: void <init>(int)>(128);
<org.apache.hadoop.hive.common.FileUtils: java.util.BitSet charToEscape> = v;
label:
v = <org.apache.hadoop.hive.common.FileUtils: java.util.BitSet charToEscape>;
virtualinvoke v.<java.util.BitSet: void set(int)>(0);
goto label;
}
}