public class org.apache.hadoop.hive.metastore.ReplChangeManager extends java.lang.Object
{
private static final org.slf4j.Logger LOG;
private static org.apache.hadoop.hive.metastore.ReplChangeManager instance;
private static boolean inited;
private static boolean enabled;
private static java.util.Map encryptionZoneToCmrootMapping;
private static org.apache.hadoop.conf.Configuration conf;
private java.lang.String msUser;
private java.lang.String msGroup;
private static final java.lang.String ORIG_LOC_TAG;
static final java.lang.String REMAIN_IN_TRASH_TAG;
private static final java.lang.String URI_FRAGMENT_SEPARATOR;
public static final java.lang.String SOURCE_OF_REPLICATION;
private static final java.lang.String TXN_WRITE_EVENT_FILE_SEPARATOR;
public static final java.lang.String CM_THREAD_NAME_PREFIX;
private static final java.lang.String NO_ENCRYPTION;
private static java.lang.String cmRootDir;
private static java.lang.String encryptedCmRootDir;
private static java.lang.String fallbackNonEncryptedCmRootDir;
private static final org.apache.hadoop.fs.PathFilter hiddenFileFilter;
public static final org.apache.hadoop.fs.PathFilter CMROOT_PATH_FILTER;
static final boolean $assertionsDisabled;
public static synchronized org.apache.hadoop.hive.metastore.ReplChangeManager getInstance(org.apache.hadoop.conf.Configuration) throws org.apache.hadoop.hive.metastore.api.MetaException
{
org.apache.hadoop.hive.metastore.ReplChangeManager v, v, v;
org.apache.hadoop.conf.Configuration v;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.hive.metastore.ReplChangeManager instance>;
if v != null goto label;
v = new org.apache.hadoop.hive.metastore.ReplChangeManager;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager: void <init>(org.apache.hadoop.conf.Configuration)>(v);
<org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.hive.metastore.ReplChangeManager instance> = v;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.hive.metastore.ReplChangeManager instance>;
return v;
}
public static synchronized org.apache.hadoop.hive.metastore.ReplChangeManager getInstance()
{
java.lang.IllegalStateException v;
org.apache.hadoop.hive.metastore.ReplChangeManager v;
boolean v;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: boolean inited>;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Replication Change Manager is not initialized.");
throw v;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.hive.metastore.ReplChangeManager instance>;
return v;
}
private void <init>(org.apache.hadoop.conf.Configuration) throws org.apache.hadoop.hive.metastore.api.MetaException
{
org.apache.hadoop.hive.metastore.api.MetaException v, v, v, v;
org.apache.hadoop.fs.FileSystem v;
java.util.Map v, v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v, v, v;
org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars v, v, v, v, v, v, v;
java.net.URI v;
boolean v, v, v, v, v, v, v;
org.apache.hadoop.hdfs.protocol.EncryptionZone v;
org.apache.hadoop.security.UserGroupInformation v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.hadoop.hive.metastore.ReplChangeManager v;
org.slf4j.Logger v;
java.io.IOException v;
v := @this: org.apache.hadoop.hive.metastore.ReplChangeManager;
v := @parameter: org.apache.hadoop.conf.Configuration;
specialinvoke v.<java.lang.Object: void <init>()>();
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: boolean inited>;
if v != 0 goto label;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMENABLED>;
v = staticinvoke <org.apache.hadoop.hive.metastore.conf.MetastoreConf: boolean getBoolVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars)>(v, v);
if v == 0 goto label;
<org.apache.hadoop.hive.metastore.ReplChangeManager: boolean enabled> = 1;
<org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf> = v;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMDIR>;
v = staticinvoke <org.apache.hadoop.hive.metastore.conf.MetastoreConf: java.lang.String getVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars)>(v, v);
<org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String cmRootDir> = v;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMENCRYPTEDDIR>;
v = staticinvoke <org.apache.hadoop.hive.metastore.conf.MetastoreConf: java.lang.String getVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars)>(v, v);
<org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String encryptedCmRootDir> = v;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMFALLBACKNONENCRYPTEDDIR>;
v = staticinvoke <org.apache.hadoop.hive.metastore.conf.MetastoreConf: java.lang.String getVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars)>(v, v);
<org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String fallbackNonEncryptedCmRootDir> = v;
v = new org.apache.hadoop.fs.Path;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String encryptedCmRootDir>;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: boolean isAbsolute()>();
if v == 0 goto label;
v = new org.apache.hadoop.hive.metastore.api.MetaException;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMENCRYPTEDDIR>;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: java.lang.String getHiveName()>();
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 should be a relative path");
specialinvoke v.<org.apache.hadoop.hive.metastore.api.MetaException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.apache.hadoop.fs.Path;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String cmRootDir>;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: void createCmRoot(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.FileSystem getFileSystem(org.apache.hadoop.conf.Configuration)>(v);
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.EncryptionZoneUtils: boolean isPathEncrypted(org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: java.net.URI getUri()>();
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.EncryptionZoneUtils: org.apache.hadoop.hdfs.protocol.EncryptionZone getEncryptionZoneForPath(org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)>(v, v);
v = virtualinvoke v.<org.apache.hadoop.hdfs.protocol.EncryptionZone: java.lang.String getPath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URI,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[])>("\u0001\u0001");
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.util.Map encryptionZoneToCmrootMapping>;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String cmRootDir>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.util.Map encryptionZoneToCmrootMapping>;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String cmRootDir>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("noEncryption", v);
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String fallbackNonEncryptedCmRootDir>;
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.StringUtils: boolean isEmpty(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = new org.apache.hadoop.fs.Path;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String fallbackNonEncryptedCmRootDir>;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: boolean isAbsolute()>();
if v != 0 goto label;
v = new org.apache.hadoop.hive.metastore.api.MetaException;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMENCRYPTEDDIR>;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: java.lang.String getHiveName()>();
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 should be absolute path");
specialinvoke v.<org.apache.hadoop.hive.metastore.api.MetaException: void <init>(java.lang.String)>(v);
throw v;
label:
staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: void createCmRoot(org.apache.hadoop.fs.Path)>(v);
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.EncryptionZoneUtils: boolean isPathEncrypted(org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)>(v, v);
if v == 0 goto label;
v = new org.apache.hadoop.hive.metastore.api.MetaException;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMFALLBACKNONENCRYPTEDDIR>;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: java.lang.String getHiveName()>();
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 should not be encrypted");
specialinvoke v.<org.apache.hadoop.hive.metastore.api.MetaException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <org.apache.hadoop.security.UserGroupInformation: org.apache.hadoop.security.UserGroupInformation getCurrentUser()>();
v = virtualinvoke v.<org.apache.hadoop.security.UserGroupInformation: java.lang.String getShortUserName()>();
v.<org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String msUser> = v;
v = virtualinvoke v.<org.apache.hadoop.security.UserGroupInformation: java.lang.String getPrimaryGroupName()>();
v.<org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String msGroup> = v;
label:
<org.apache.hadoop.hive.metastore.ReplChangeManager: boolean inited> = 1;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Failed to created ReplChangeManager", v);
v = new org.apache.hadoop.hive.metastore.api.MetaException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.hadoop.hive.metastore.api.MetaException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
}
public int recycle(org.apache.hadoop.fs.Path, org.apache.hadoop.hive.metastore.ReplChangeManager$RecycleType, boolean) throws java.io.IOException
{
byte[] v, v;
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.hive.metastore.ReplChangeManager$2 v;
org.apache.hadoop.fs.FileStatus v;
int[] v;
org.apache.hadoop.conf.Configuration v, v, v, v;
org.apache.hadoop.fs.Path v, v, v, v, v;
boolean v, v, v, v, v, v;
org.apache.hadoop.fs.FileStatus[] v;
java.lang.Exception v;
org.apache.hadoop.hive.metastore.ReplChangeManager$RecycleType v, v;
org.apache.hadoop.fs.PathFilter v;
long v;
java.nio.charset.Charset v;
int v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.UnsupportedOperationException v, v;
org.apache.hadoop.hive.metastore.ReplChangeManager v;
org.slf4j.Logger v, v, v, v, v;
java.io.IOException v;
java.lang.Object v;
v := @this: org.apache.hadoop.hive.metastore.ReplChangeManager;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.hive.metastore.ReplChangeManager$RecycleType;
v := @parameter: boolean;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: boolean enabled>;
if v != 0 goto label;
return 0;
label:
v = 0;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
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: boolean isDirectory(org.apache.hadoop.fs.Path)>(v);
if v == 0 goto label;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.fs.PathFilter hiddenFileFilter>;
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.hive.metastore.ReplChangeManager: int recycle(org.apache.hadoop.fs.Path,org.apache.hadoop.hive.metastore.ReplChangeManager$RecycleType,boolean)>(v, v, v);
v = v + v;
v = v + 1;
goto label;
label:
v = staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String checksumFor(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.FileSystem)>(v, v);
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.fs.Path getCmRoot(org.apache.hadoop.fs.Path)>(v);
v = null;
if v == null goto label;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.FileUtils: org.apache.hadoop.fs.Path makeQualified(org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)>(v, v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String getName()>();
v = staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.fs.Path getCMPath(org.apache.hadoop.conf.Configuration,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v);
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: void setTimes(org.apache.hadoop.fs.Path,long,long)>(v, v, -1L);
v = 0;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean exists(org.apache.hadoop.fs.Path)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String checksumFor(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.FileSystem)>(v, v);
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = 0;
goto label;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager$5: int[] $SwitchMap$org$apache$hadoop$hive$metastore$ReplChangeManager$RecycleType>;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$RecycleType: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Moving {} to {}", v, v);
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$2;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$2: void <init>(org.apache.hadoop.hive.metastore.ReplChangeManager,java.lang.Class,org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path)>(v, class "Ljava/io/IOException;", v, v, v);
label:
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.utils.Retry: java.lang.Object run()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
label:
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
v = staticinvoke <org.apache.hadoop.util.StringUtils: java.lang.String stringifyException(java.lang.Throwable)>(v);
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Copying {} to {}", v, v);
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.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.conf.Configuration)>(v, v, v, v, 0, 1, v);
label:
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: void setXAttr(org.apache.hadoop.fs.Path,java.lang.String,byte[])>(v, "user.original-loc", v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Error setting xattr for {}", v);
label:
v = 1;
goto label;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("A file with the same content of {} already exists, ignore", v);
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: void setTimes(org.apache.hadoop.fs.Path,long,long)>(v, v, -1L);
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager$RecycleType: org.apache.hadoop.hive.metastore.ReplChangeManager$RecycleType MOVE>;
if v != v goto label;
if v != 0 goto label;
label:
v = newarray (byte)[1];
v[0] = 0;
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: void setXAttr(org.apache.hadoop.fs.Path,java.lang.String,byte[])>(v, "user.remain-in-trash", v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Error setting xattr for {}", v);
label:
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.UnsupportedOperationException from label to label with label;
catch java.lang.UnsupportedOperationException from label to label with label;
}
public static java.lang.String checksumFor(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.FileSystem) throws java.io.IOException
{
byte[] v;
org.apache.hadoop.fs.FileChecksum v;
org.apache.hadoop.fs.FileSystem v;
int v;
org.apache.hadoop.fs.Path v;
java.lang.String v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: org.apache.hadoop.fs.FileSystem;
v = null;
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileChecksum getFileChecksum(org.apache.hadoop.fs.Path)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.hadoop.fs.FileChecksum: byte[] getBytes()>();
v = virtualinvoke v.<org.apache.hadoop.fs.FileChecksum: int getLength()>();
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.StringUtils: java.lang.String byteToHexString(byte[],int,int)>(v, 0, v);
label:
return v;
}
static org.apache.hadoop.fs.Path getCMPath(org.apache.hadoop.conf.Configuration, java.lang.String, java.lang.String, java.lang.String)
{
org.apache.hadoop.conf.Configuration v;
int v, v, v;
org.apache.hadoop.fs.Path v;
java.lang.String v, v, v, v;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
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[])>("\u0001_\u0001");
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: int getInt(java.lang.String,int)>("dfs.namenode.fs-limits.max-component-length", 255);
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= v goto label;
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = new org.apache.hadoop.fs.Path;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String,java.lang.String)>(v, v);
return v;
}
public static org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo getFileInfo(org.apache.hadoop.fs.Path, java.lang.String, java.lang.String, java.lang.String, 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;
java.lang.String v, v, v, v, v;
boolean v, v;
org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo v, v, v, v, v;
java.io.IOException v;
v := @parameter: org.apache.hadoop.fs.Path;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.FileSystem getFileSystem(org.apache.hadoop.conf.Configuration)>(v);
if v != null goto label;
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo: void <init>(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,java.lang.String)>(v, v, v);
return v;
label:
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String getName()>();
v = staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.fs.Path getCMPath(org.apache.hadoop.conf.Configuration,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: boolean exists(org.apache.hadoop.fs.Path)>(v);
if v != 0 goto label;
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo: void <init>(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path,java.lang.String,boolean,java.lang.String)>(v, v, v, v, 0, v);
return v;
label:
v = staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String checksumFor(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.FileSystem)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo: void <init>(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path,java.lang.String,boolean,java.lang.String)>(v, v, v, v, 0, v);
return v;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo: void <init>(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path,java.lang.String,boolean,java.lang.String)>(v, v, v, v, 1, v);
return v;
label:
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$FileInfo: void <init>(org.apache.hadoop.fs.FileSystem,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path,java.lang.String,boolean,java.lang.String)>(v, v, v, v, 0, v);
return v;
catch java.io.IOException from label to label with label;
}
public java.lang.String encodeFileUri(java.lang.String, java.lang.String, java.lang.String) throws java.io.IOException
{
java.lang.IllegalStateException v;
org.apache.hadoop.hive.metastore.ReplChangeManager v, v;
org.apache.hadoop.conf.Configuration v;
org.apache.hadoop.fs.Path v, v, v;
java.lang.String v, v, v, v, v;
v := @this: org.apache.hadoop.hive.metastore.ReplChangeManager;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.hive.metastore.ReplChangeManager instance>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Uninitialized ReplChangeManager instance.");
throw v;
label:
v = new org.apache.hadoop.fs.Path;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.fs.Path getCmRoot(org.apache.hadoop.fs.Path)>(v);
v = null;
if v == null goto label;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.FileUtils: org.apache.hadoop.fs.Path makeQualified(org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)>(v, v);
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
label:
v = staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String encodeFileUri(java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v);
return v;
}
public static java.lang.String encodeFileUri(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
{
org.slf4j.Logger v;
java.lang.String 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: java.lang.String;
if v == null goto label;
if v == null goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001#\u0001#\u0001");
goto label;
label:
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:
if v == null goto label;
v = v;
goto label;
label:
v = "";
label:
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[])>("\u0001#\u0001");
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: 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[])>("Encoded URI: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
return v;
}
public static java.lang.String[] decodeFileUri(java.lang.String)
{
java.lang.String[] v, v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
org.slf4j.Logger v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("#");
v = newarray (java.lang.String)[4];
v = v[0];
v[0] = v;
v = lengthof v;
if v <= 1 goto label;
v = v[1];
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.StringUtils: boolean isEmpty(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = v[1];
v[1] = v;
label:
v = lengthof v;
if v <= 2 goto label;
v = v[2];
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.StringUtils: boolean isEmpty(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = v[2];
v[2] = v;
label:
v = lengthof v;
if v <= 3 goto label;
v = v[3];
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.StringUtils: boolean isEmpty(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = v[3];
v[3] = v;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
v = v[0];
v = v[1];
v = v[2];
v = v[3];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, 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[])>("Reading Encoded URI: \u0001:: \u0001:: \u0001:: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
return v;
}
public static boolean isCMFileUri(org.apache.hadoop.fs.Path)
{
org.apache.hadoop.fs.Path v;
java.lang.String[] v;
java.lang.String v, v;
boolean v;
v := @parameter: org.apache.hadoop.fs.Path;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: java.lang.String toString()>();
v = staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String[] decodeFileUri(java.lang.String)>(v);
v = v[1];
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static void scheduleCMClearer(org.apache.hadoop.conf.Configuration)
{
org.apache.commons.lang.concurrent.BasicThreadFactory$Builder v, v, v;
long v, v;
org.apache.hadoop.conf.Configuration v;
java.util.concurrent.ScheduledExecutorService v;
org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars v, v, v;
boolean v;
org.apache.hadoop.hive.metastore.ReplChangeManager$CMClearer v;
org.apache.commons.lang.concurrent.BasicThreadFactory v;
java.util.concurrent.TimeUnit v, v, v;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMENABLED>;
v = staticinvoke <org.apache.hadoop.hive.metastore.conf.MetastoreConf: boolean getBoolVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars)>(v, v);
if v == 0 goto label;
v = new org.apache.commons.lang.concurrent.BasicThreadFactory$Builder;
specialinvoke v.<org.apache.commons.lang.concurrent.BasicThreadFactory$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.commons.lang.concurrent.BasicThreadFactory$Builder: org.apache.commons.lang.concurrent.BasicThreadFactory$Builder namingPattern(java.lang.String)>("cmclearer-%d");
v = virtualinvoke v.<org.apache.commons.lang.concurrent.BasicThreadFactory$Builder: org.apache.commons.lang.concurrent.BasicThreadFactory$Builder daemon(boolean)>(1);
v = virtualinvoke v.<org.apache.commons.lang.concurrent.BasicThreadFactory$Builder: org.apache.commons.lang.concurrent.BasicThreadFactory build()>();
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory)>(v);
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$CMClearer;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMRETIAN>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = staticinvoke <org.apache.hadoop.hive.metastore.conf.MetastoreConf: long getTimeVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars,java.util.concurrent.TimeUnit)>(v, v, v);
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$CMClearer: void <init>(long,org.apache.hadoop.conf.Configuration)>(v, v);
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars REPLCMINTERVAL>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = staticinvoke <org.apache.hadoop.hive.metastore.conf.MetastoreConf: long getTimeVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars,java.util.concurrent.TimeUnit)>(v, v, v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.concurrent.ScheduledFuture scheduleAtFixedRate(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)>(v, 0L, v, v);
label:
return;
}
public static boolean shouldEnableCm(org.apache.hadoop.hive.metastore.api.Database, org.apache.hadoop.hive.metastore.api.Table)
{
java.lang.AssertionError v;
org.apache.hadoop.hive.metastore.api.Database v;
org.apache.hadoop.hive.metastore.api.Table v;
boolean v, v, v, v;
v := @parameter: org.apache.hadoop.hive.metastore.api.Database;
v := @parameter: org.apache.hadoop.hive.metastore.api.Table;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: boolean isSourceOfReplication(org.apache.hadoop.hive.metastore.api.Database)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.MetaStoreUtils: boolean isExternalTable(org.apache.hadoop.hive.metastore.api.Table)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isSourceOfReplication(org.apache.hadoop.hive.metastore.api.Database)
{
java.lang.AssertionError v;
java.lang.String v;
org.apache.hadoop.hive.metastore.api.Database v;
boolean v, v, v;
v := @parameter: org.apache.hadoop.hive.metastore.api.Database;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String getReplPolicyIdString(org.apache.hadoop.hive.metastore.api.Database)>(v);
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.StringUtils: boolean isEmpty(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.lang.String getReplPolicyIdString(org.apache.hadoop.hive.metastore.api.Database)
{
org.slf4j.Logger v, v;
java.util.Map v;
java.lang.Object v;
java.lang.String v, v;
org.apache.hadoop.hive.metastore.api.Database v;
boolean v;
v := @parameter: org.apache.hadoop.hive.metastore.api.Database;
if v == null goto label;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.api.Database: java.util.Map getParameters()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("repl.source.for");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("repl.source.for");
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.api.Database: java.lang.String getName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("repl policy for database {} is {}", v, v);
return v;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.api.Database: java.lang.String getName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Repl policy is not set for database: {}", v);
label:
return null;
}
public static java.lang.String joinWithSeparator(java.lang.Iterable)
{
java.lang.String v;
java.lang.Iterable v;
v := @parameter: java.lang.Iterable;
v = staticinvoke <org.apache.hadoop.util.StringUtils: java.lang.String join(java.lang.CharSequence,java.lang.Iterable)>("]", v);
return v;
}
public static java.lang.String[] getListFromSeparatedString(java.lang.String)
{
java.lang.String[] v;
java.lang.String v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\\s*]\\s*");
return v;
}
org.apache.hadoop.fs.Path getCmRoot(org.apache.hadoop.fs.Path) throws java.io.IOException
{
java.lang.Throwable v;
org.apache.hadoop.fs.FileSystem v;
java.util.Map v, v, v, v;
org.apache.hadoop.conf.Configuration v, v, v;
org.apache.hadoop.fs.Path v, v, v, v;
java.lang.String v, v, v, v;
java.net.URI v;
boolean v, v, v, v;
org.apache.hadoop.hive.metastore.ReplChangeManager v, v;
org.apache.hadoop.hdfs.protocol.EncryptionZone v;
java.lang.Object v;
v := @this: org.apache.hadoop.hive.metastore.ReplChangeManager;
v := @parameter: org.apache.hadoop.fs.Path;
v = null;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String fallbackNonEncryptedCmRootDir>;
v = "noEncryption";
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: boolean enabled>;
if v == 0 goto label;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.EncryptionZoneUtils: boolean isPathEncrypted(org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)>(v, v);
if v == 0 goto label;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
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: java.net.URI getUri()>();
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
v = staticinvoke <org.apache.hadoop.hive.metastore.utils.EncryptionZoneUtils: org.apache.hadoop.hdfs.protocol.EncryptionZone getEncryptionZoneForPath(org.apache.hadoop.fs.Path,org.apache.hadoop.conf.Configuration)>(v, v);
v = virtualinvoke v.<org.apache.hadoop.hdfs.protocol.EncryptionZone: java.lang.String getPath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URI,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[])>("\u0001\u0001");
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.lang.String encryptedCmRootDir>;
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[])>("\u0001/\u0001");
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.util.Map encryptionZoneToCmrootMapping>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.apache.hadoop.fs.Path;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.util.Map encryptionZoneToCmrootMapping>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
v = v;
goto label;
label:
v = new org.apache.hadoop.fs.Path;
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
v = v;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.hive.metastore.ReplChangeManager instance>;
entermonitor v;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.util.Map encryptionZoneToCmrootMapping>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
staticinvoke <org.apache.hadoop.hive.metastore.ReplChangeManager: void createCmRoot(org.apache.hadoop.fs.Path)>(v);
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.util.Map encryptionZoneToCmrootMapping>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private static void createCmRoot(org.apache.hadoop.fs.Path) throws java.io.IOException
{
org.apache.hadoop.hive.metastore.ReplChangeManager$3 v;
org.apache.hadoop.fs.Path v;
java.io.IOException v;
java.lang.Exception v;
v := @parameter: org.apache.hadoop.fs.Path;
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$3;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$3: void <init>(java.lang.Class,org.apache.hadoop.fs.Path)>(class "Ljava/io/IOException;", v);
label:
virtualinvoke v.<org.apache.hadoop.hive.metastore.utils.Retry: java.lang.Object run()>();
label:
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>("Failed to createCmRoot", v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
private static void setCmRootPermissions(org.apache.hadoop.fs.Path) throws java.io.IOException
{
org.apache.hadoop.fs.FileSystem v;
org.apache.hadoop.fs.permission.AclEntryScope v, v, v, v;
org.apache.hadoop.fs.FileStatus v, v, v, v;
org.apache.hadoop.conf.Configuration v, v;
java.lang.Exception v;
org.apache.hadoop.fs.permission.FsAction v, v, v, v, v, v, v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v, v;
org.apache.hadoop.fs.permission.AclEntry$Builder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.hadoop.fs.permission.FsPermission v, v, v, v, v, v;
org.apache.hadoop.fs.permission.AclEntry[] v;
org.apache.hadoop.fs.Path v, v;
org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars v;
boolean v, v, v;
org.apache.hadoop.fs.permission.AclEntry v, v, v, v;
org.apache.hadoop.fs.permission.AclEntryType v, v, v, v;
org.slf4j.Logger v, v;
v := @parameter: org.apache.hadoop.fs.Path;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
v = virtualinvoke v.<org.apache.hadoop.fs.Path: org.apache.hadoop.fs.FileSystem getFileSystem(org.apache.hadoop.conf.Configuration)>(v);
v = new org.apache.hadoop.fs.permission.FsPermission;
specialinvoke v.<org.apache.hadoop.fs.permission.FsPermission: void <init>(java.lang.String)>("770");
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: void setPermission(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.permission.FsPermission)>(v, v);
label:
v = new org.apache.hadoop.fs.Path;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars WAREHOUSE>;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.conf.MetastoreConf$ConfVars: java.lang.String getVarname()>();
v = staticinvoke <org.apache.hadoop.hive.metastore.conf.MetastoreConf: java.lang.String get(org.apache.hadoop.conf.Configuration,java.lang.String)>(v, v);
specialinvoke v.<org.apache.hadoop.fs.Path: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileSystem: org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.fs.Path)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: java.lang.String getOwner()>();
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: java.lang.String getGroup()>();
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;
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.permission.FsPermission getPermission()>();
v = virtualinvoke v.<org.apache.hadoop.fs.permission.FsPermission: org.apache.hadoop.fs.permission.FsAction getUserAction()>();
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.permission.FsPermission getPermission()>();
v = virtualinvoke v.<org.apache.hadoop.fs.permission.FsPermission: org.apache.hadoop.fs.permission.FsAction getGroupAction()>();
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.permission.FsPermission getPermission()>();
v = virtualinvoke v.<org.apache.hadoop.fs.permission.FsPermission: org.apache.hadoop.fs.permission.FsAction getOtherAction()>();
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 getGroup()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: void setOwner(org.apache.hadoop.fs.Path,java.lang.String,java.lang.String)>(v, null, v);
v = new org.apache.hadoop.fs.permission.FsPermission;
specialinvoke v.<org.apache.hadoop.fs.permission.FsPermission: void <init>(org.apache.hadoop.fs.permission.FsAction,org.apache.hadoop.fs.permission.FsAction,org.apache.hadoop.fs.permission.FsAction)>(v, v, v);
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: void setPermission(org.apache.hadoop.fs.Path,org.apache.hadoop.fs.permission.FsPermission)>(v, v);
goto label;
label:
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Metastore-user is not same as owner of warehouse.");
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 getGroup()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = newarray (org.apache.hadoop.fs.permission.AclEntry)[3];
v = new org.apache.hadoop.fs.permission.AclEntry$Builder;
specialinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: void <init>()>();
v = <org.apache.hadoop.fs.permission.AclEntryScope: org.apache.hadoop.fs.permission.AclEntryScope ACCESS>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setScope(org.apache.hadoop.fs.permission.AclEntryScope)>(v);
v = <org.apache.hadoop.fs.permission.AclEntryType: org.apache.hadoop.fs.permission.AclEntryType USER>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setType(org.apache.hadoop.fs.permission.AclEntryType)>(v);
v = <org.apache.hadoop.fs.permission.FsAction: org.apache.hadoop.fs.permission.FsAction ALL>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setPermission(org.apache.hadoop.fs.permission.FsAction)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry build()>();
v[0] = v;
v = new org.apache.hadoop.fs.permission.AclEntry$Builder;
specialinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: void <init>()>();
v = <org.apache.hadoop.fs.permission.AclEntryScope: org.apache.hadoop.fs.permission.AclEntryScope ACCESS>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setScope(org.apache.hadoop.fs.permission.AclEntryScope)>(v);
v = <org.apache.hadoop.fs.permission.AclEntryType: org.apache.hadoop.fs.permission.AclEntryType GROUP>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setType(org.apache.hadoop.fs.permission.AclEntryType)>(v);
v = <org.apache.hadoop.fs.permission.FsAction: org.apache.hadoop.fs.permission.FsAction ALL>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setPermission(org.apache.hadoop.fs.permission.FsAction)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry build()>();
v[1] = v;
v = new org.apache.hadoop.fs.permission.AclEntry$Builder;
specialinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: void <init>()>();
v = <org.apache.hadoop.fs.permission.AclEntryScope: org.apache.hadoop.fs.permission.AclEntryScope ACCESS>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setScope(org.apache.hadoop.fs.permission.AclEntryScope)>(v);
v = <org.apache.hadoop.fs.permission.AclEntryType: org.apache.hadoop.fs.permission.AclEntryType OTHER>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setType(org.apache.hadoop.fs.permission.AclEntryType)>(v);
v = <org.apache.hadoop.fs.permission.FsAction: org.apache.hadoop.fs.permission.FsAction NONE>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setPermission(org.apache.hadoop.fs.permission.FsAction)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry build()>();
v[2] = v;
v = staticinvoke <com.google.common.collect.Lists: java.util.ArrayList newArrayList(java.lang.Object[])>(v);
v = new org.apache.hadoop.fs.permission.AclEntry$Builder;
specialinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: void <init>()>();
v = <org.apache.hadoop.fs.permission.AclEntryScope: org.apache.hadoop.fs.permission.AclEntryScope ACCESS>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setScope(org.apache.hadoop.fs.permission.AclEntryScope)>(v);
v = <org.apache.hadoop.fs.permission.AclEntryType: org.apache.hadoop.fs.permission.AclEntryType GROUP>;
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setType(org.apache.hadoop.fs.permission.AclEntryType)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setName(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.FileStatus: org.apache.hadoop.fs.permission.FsPermission getPermission()>();
v = virtualinvoke v.<org.apache.hadoop.fs.permission.FsPermission: org.apache.hadoop.fs.permission.FsAction getGroupAction()>();
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry$Builder setPermission(org.apache.hadoop.fs.permission.FsAction)>(v);
v = virtualinvoke v.<org.apache.hadoop.fs.permission.AclEntry$Builder: org.apache.hadoop.fs.permission.AclEntry build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
virtualinvoke v.<org.apache.hadoop.fs.FileSystem: void setAcl(org.apache.hadoop.fs.Path,java.util.List)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Unable to set permissions corresponding to hive-warehouse on CMRoot: ", v);
label:
return;
catch java.lang.RuntimeException from label to label with label;
catch java.io.IOException from label to label with label;
}
static void resetReplChangeManagerInstance()
{
java.util.Map v;
<org.apache.hadoop.hive.metastore.ReplChangeManager: boolean inited> = 0;
<org.apache.hadoop.hive.metastore.ReplChangeManager: boolean enabled> = 0;
<org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.hive.metastore.ReplChangeManager instance> = null;
v = <org.apache.hadoop.hive.metastore.ReplChangeManager: java.util.Map encryptionZoneToCmrootMapping>;
interfaceinvoke v.<java.util.Map: void clear()>();
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
org.apache.hadoop.hive.metastore.ReplChangeManager$4 v;
java.lang.Class v;
java.util.HashMap v;
org.apache.hadoop.hive.metastore.ReplChangeManager$1 v;
boolean v, v;
v = class "Lorg/apache/hadoop/hive/metastore/ReplChangeManager;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.apache.hadoop.hive.metastore.ReplChangeManager: boolean $assertionsDisabled> = v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/hadoop/hive/metastore/ReplChangeManager;");
<org.apache.hadoop.hive.metastore.ReplChangeManager: org.slf4j.Logger LOG> = v;
<org.apache.hadoop.hive.metastore.ReplChangeManager: boolean inited> = 0;
<org.apache.hadoop.hive.metastore.ReplChangeManager: boolean enabled> = 0;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
<org.apache.hadoop.hive.metastore.ReplChangeManager: java.util.Map encryptionZoneToCmrootMapping> = v;
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$1;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$1: void <init>()>();
<org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.fs.PathFilter hiddenFileFilter> = v;
v = new org.apache.hadoop.hive.metastore.ReplChangeManager$4;
specialinvoke v.<org.apache.hadoop.hive.metastore.ReplChangeManager$4: void <init>()>();
<org.apache.hadoop.hive.metastore.ReplChangeManager: org.apache.hadoop.fs.PathFilter CMROOT_PATH_FILTER> = v;
return;
}
}