public class org.apache.hive.service.server.KillQueryImpl extends java.lang.Object implements org.apache.hadoop.hive.ql.session.KillQuery
{
private static final org.slf4j.Logger LOG;
private final org.apache.hive.service.cli.operation.OperationManager operationManager;
private final org.apache.hive.service.server.KillQueryZookeeperManager killQueryZookeeperManager;
public void <init>(org.apache.hive.service.cli.operation.OperationManager, org.apache.hive.service.server.KillQueryZookeeperManager)
{
org.apache.hive.service.cli.operation.OperationManager v;
org.apache.hive.service.server.KillQueryZookeeperManager v;
org.apache.hive.service.server.KillQueryImpl v;
v := @this: org.apache.hive.service.server.KillQueryImpl;
v := @parameter: org.apache.hive.service.cli.operation.OperationManager;
v := @parameter: org.apache.hive.service.server.KillQueryZookeeperManager;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.cli.operation.OperationManager operationManager> = v;
v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.server.KillQueryZookeeperManager killQueryZookeeperManager> = v;
return;
}
public static java.util.Set getChildYarnJobs(org.apache.hadoop.conf.Configuration, java.lang.String, java.lang.String, boolean) throws java.io.IOException, org.apache.hadoop.yarn.exceptions.YarnException
{
org.apache.hadoop.yarn.api.protocolrecords.ApplicationsRequestScope v;
org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest v;
java.util.HashSet v;
org.apache.hadoop.conf.Configuration v;
java.lang.String v, v, v, v, v;
boolean v, v, v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v;
java.util.Set v, v;
java.util.List v;
org.apache.hadoop.yarn.api.records.ApplicationId v, v;
org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse v;
java.lang.Object v, v;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = staticinvoke <org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest: org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest newInstance()>();
v = <org.apache.hadoop.yarn.api.protocolrecords.ApplicationsRequestScope: org.apache.hadoop.yarn.api.protocolrecords.ApplicationsRequestScope OWN>;
virtualinvoke v.<org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest: void setScope(org.apache.hadoop.yarn.api.protocolrecords.ApplicationsRequestScope)>(v);
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
virtualinvoke v.<org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest: void setApplicationTags(java.util.Set)>(v);
v = staticinvoke <org.apache.hadoop.yarn.client.ClientRMProxy: java.lang.Object createRMProxy(org.apache.hadoop.conf.Configuration,java.lang.Class)>(v, class "Lorg/apache/hadoop/yarn/api/ApplicationClientProtocol;");
v = interfaceinvoke v.<org.apache.hadoop.yarn.api.ApplicationClientProtocol: org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse getApplications(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest)>(v);
v = virtualinvoke v.<org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse: java.util.List getApplicationList()>();
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()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.yarn.api.records.ApplicationReport: org.apache.hadoop.yarn.api.records.ApplicationId getApplicationId()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.yarn.api.records.ApplicationReport: java.util.Set getApplicationTags()>();
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[])>("userid=\u0001");
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.yarn.api.records.ApplicationReport: org.apache.hadoop.yarn.api.records.ApplicationId getApplicationId()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
v = <org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("No child applications found");
goto label;
label:
v = <org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG>;
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String join(java.lang.Iterable,java.lang.String)>(v, ",");
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[])>("Found child YARN applications: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
return v;
}
public static void killChildYarnJobs(org.apache.hadoop.conf.Configuration, java.lang.String, java.lang.String, boolean)
{
java.lang.Throwable v;
org.slf4j.Logger v, v;
java.util.Iterator v;
org.apache.hadoop.yarn.client.api.YarnClient v;
java.util.Set v;
org.apache.hadoop.conf.Configuration v;
java.lang.Object v;
java.lang.String v, v, v;
boolean v, v, v;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
label:
if v != null goto label;
label:
return;
label:
v = <org.apache.hive.service.server.KillQueryImpl: 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[])>("Killing yarn jobs using query tag:\u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = staticinvoke <org.apache.hive.service.server.KillQueryImpl: java.util.Set getChildYarnJobs(org.apache.hadoop.conf.Configuration,java.lang.String,java.lang.String,boolean)>(v, v, v, v);
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = staticinvoke <org.apache.hadoop.yarn.client.api.YarnClient: org.apache.hadoop.yarn.client.api.YarnClient createYarnClient()>();
virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: void init(org.apache.hadoop.conf.Configuration)>(v);
virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: void start()>();
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()>();
virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: void killApplication(org.apache.hadoop.yarn.api.records.ApplicationId)>(v);
goto label;
label:
v := @caughtexception;
v = <org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Exception occurred while killing child job({})", v, v);
label:
return;
catch java.io.IOException from label to label with label;
catch org.apache.hadoop.yarn.exceptions.YarnException from label to label with label;
catch java.io.IOException from label to label with label;
catch org.apache.hadoop.yarn.exceptions.YarnException from label to label with label;
}
private static boolean isAdmin()
{
org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthorizer v, v;
java.util.ArrayList v;
org.apache.hadoop.hive.conf.HiveConf$ConfVars v;
org.apache.hadoop.security.UserGroupInformation v;
org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext$Builder v;
java.lang.String v, v;
org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject$HivePrivilegeObjectType v;
boolean v, v, v;
org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext v;
org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject[] v;
org.slf4j.Logger v, v;
org.apache.hadoop.hive.conf.HiveConf v;
java.io.IOException v;
org.apache.hadoop.hive.ql.session.SessionState v;
java.lang.Exception v;
java.util.List v;
org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject v;
org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType v;
v = 0;
v = new org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject;
v = <org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject$HivePrivilegeObjectType: org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject$HivePrivilegeObjectType SERVICE_NAME>;
specialinvoke v.<org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject: void <init>(org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject$HivePrivilegeObjectType,java.lang.String,java.lang.String)>(v, null, "hiveservice");
v = staticinvoke <org.apache.hadoop.hive.ql.session.SessionState: org.apache.hadoop.hive.ql.session.SessionState get()>();
v = virtualinvoke v.<org.apache.hadoop.hive.ql.session.SessionState: org.apache.hadoop.hive.conf.HiveConf getConf()>();
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_AUTHORIZATION_ENABLED>;
v = staticinvoke <org.apache.hadoop.hive.conf.HiveConf: boolean getBoolVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v, v);
if v != 0 goto label;
label:
v = virtualinvoke v.<org.apache.hadoop.hive.ql.session.SessionState: java.lang.String getUserName()>();
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 = staticinvoke <org.apache.commons.lang.StringUtils: boolean equals(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Unable to check for admin privileges", v);
return 0;
label:
v = virtualinvoke v.<org.apache.hadoop.hive.ql.session.SessionState: org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthorizer getAuthorizerV2()>();
if v == null goto label;
label:
v = virtualinvoke v.<org.apache.hadoop.hive.ql.session.SessionState: org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthorizer getAuthorizerV2()>();
v = <org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType: org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType KILL_QUERY>;
v = newarray (org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject)[1];
v[0] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext$Builder;
specialinvoke v.<org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext$Builder: org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext build()>();
interfaceinvoke v.<org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthorizer: void checkPrivileges(org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType,java.util.List,java.util.List,org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext)>(v, v, v, v);
v = 1;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Error while checking privileges", v);
label:
return v;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private boolean cancelOperation(org.apache.hive.service.cli.operation.Operation, java.lang.String, boolean, java.lang.String) throws org.apache.hive.service.cli.HiveSQLException
{
org.apache.hive.service.cli.operation.Operation v;
org.apache.hive.service.cli.session.HiveSession v;
org.apache.hive.service.cli.operation.OperationManager v;
org.apache.hive.service.server.KillQueryImpl v;
java.lang.String v, v, v;
org.apache.hive.service.cli.OperationHandle v;
boolean v, v, v;
v := @this: org.apache.hive.service.server.KillQueryImpl;
v := @parameter: org.apache.hive.service.cli.operation.Operation;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: java.lang.String;
if v != 0 goto label;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.hive.service.cli.operation.Operation: org.apache.hive.service.cli.session.HiveSession getParentSession()>();
v = interfaceinvoke v.<org.apache.hive.service.cli.session.HiveSession: java.lang.String getUserName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.hive.service.cli.operation.Operation: org.apache.hive.service.cli.OperationHandle getHandle()>();
v = v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.cli.operation.OperationManager operationManager>;
virtualinvoke v.<org.apache.hive.service.cli.operation.OperationManager: void cancelOperation(org.apache.hive.service.cli.OperationHandle,java.lang.String)>(v, v);
return 1;
label:
return 0;
}
public boolean isLocalQuery(java.lang.String)
{
org.apache.hive.service.server.KillQueryImpl$TagOrId v, v;
java.util.Set v;
org.apache.hive.service.cli.operation.Operation v;
org.apache.hive.service.cli.operation.OperationManager v, v;
org.apache.hive.service.server.KillQueryImpl v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.hive.service.server.KillQueryImpl;
v := @parameter: java.lang.String;
v = <org.apache.hive.service.server.KillQueryImpl$TagOrId: org.apache.hive.service.server.KillQueryImpl$TagOrId UNKNOWN>;
v = v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.cli.operation.OperationManager operationManager>;
v = virtualinvoke v.<org.apache.hive.service.cli.operation.OperationManager: org.apache.hive.service.cli.operation.Operation getOperationByQueryId(java.lang.String)>(v);
if v == null goto label;
v = <org.apache.hive.service.server.KillQueryImpl$TagOrId: org.apache.hive.service.server.KillQueryImpl$TagOrId ID>;
goto label;
label:
v = v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.cli.operation.OperationManager operationManager>;
v = virtualinvoke v.<org.apache.hive.service.cli.operation.OperationManager: java.util.Set getOperationsByQueryTag(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = <org.apache.hive.service.server.KillQueryImpl$TagOrId: org.apache.hive.service.server.KillQueryImpl$TagOrId TAG>;
label:
v = <org.apache.hive.service.server.KillQueryImpl$TagOrId: org.apache.hive.service.server.KillQueryImpl$TagOrId UNKNOWN>;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void killQuery(java.lang.String, java.lang.String, org.apache.hadoop.hive.conf.HiveConf) throws org.apache.hadoop.hive.ql.metadata.HiveException
{
org.apache.hive.service.server.KillQueryImpl v;
org.apache.hadoop.hive.conf.HiveConf v;
java.lang.String v, v, v;
org.apache.hadoop.hive.ql.session.SessionState v;
boolean v;
v := @this: org.apache.hive.service.server.KillQueryImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v = staticinvoke <org.apache.hadoop.hive.ql.session.SessionState: org.apache.hadoop.hive.ql.session.SessionState get()>();
v = virtualinvoke v.<org.apache.hadoop.hive.ql.session.SessionState: java.lang.String getUserName()>();
v = staticinvoke <org.apache.hive.service.server.KillQueryImpl: boolean isAdmin()>();
specialinvoke v.<org.apache.hive.service.server.KillQueryImpl: void killQuery(java.lang.String,java.lang.String,org.apache.hadoop.hive.conf.HiveConf,boolean,java.lang.String,boolean)>(v, v, v, 0, v, v);
return;
}
public void killLocalQuery(java.lang.String, org.apache.hadoop.hive.conf.HiveConf, java.lang.String, boolean) throws org.apache.hadoop.hive.ql.metadata.HiveException
{
org.apache.hive.service.server.KillQueryImpl v;
org.apache.hadoop.hive.conf.HiveConf v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.hive.service.server.KillQueryImpl;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: java.lang.String;
v := @parameter: boolean;
specialinvoke v.<org.apache.hive.service.server.KillQueryImpl: void killQuery(java.lang.String,java.lang.String,org.apache.hadoop.hive.conf.HiveConf,boolean,java.lang.String,boolean)>(v, null, v, 1, v, v);
return;
}
private void killQuery(java.lang.String, java.lang.String, org.apache.hadoop.hive.conf.HiveConf, boolean, java.lang.String, boolean) throws org.apache.hadoop.hive.ql.metadata.HiveException
{
org.apache.hive.service.cli.operation.Operation v, v;
boolean v, v, v, v, v, v;
java.util.Set v;
org.apache.hadoop.hive.ql.session.SessionState v;
org.apache.hive.service.cli.operation.OperationManager v, v, v;
org.apache.hive.service.server.KillQueryImpl v;
org.apache.hadoop.hive.ql.metadata.HiveException v;
java.util.HashSet v;
org.apache.hive.service.server.KillQueryZookeeperManager v, v;
org.apache.hadoop.hive.conf.HiveConf$ConfVars v;
java.lang.String v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
org.apache.hive.service.server.KillQueryImpl$TagOrId v;
org.apache.hadoop.hive.conf.HiveConf v;
java.io.IOException v;
org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider v;
v := @this: org.apache.hive.service.server.KillQueryImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: boolean;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String defaultString(java.lang.String,java.lang.String)>(v, "User invoked KILL QUERY");
v = <org.apache.hive.service.server.KillQueryImpl$TagOrId: org.apache.hive.service.server.KillQueryImpl$TagOrId UNKNOWN>;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.cli.operation.OperationManager operationManager>;
v = virtualinvoke v.<org.apache.hive.service.cli.operation.OperationManager: org.apache.hive.service.cli.operation.Operation getOperationByQueryId(java.lang.String)>(v);
if v == null goto label;
v = v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.cli.operation.OperationManager operationManager>;
v = virtualinvoke v.<org.apache.hive.service.cli.operation.OperationManager: org.apache.hive.service.cli.operation.Operation getOperationByQueryId(java.lang.String)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.apache.hive.service.server.KillQueryImpl$TagOrId: org.apache.hive.service.server.KillQueryImpl$TagOrId ID>;
v = <org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Query found with id: {}", v);
goto label;
label:
v = v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.cli.operation.OperationManager operationManager>;
v = virtualinvoke v.<org.apache.hive.service.cli.operation.OperationManager: java.util.Set getOperationsByQueryTag(java.lang.String)>(v);
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = <org.apache.hive.service.server.KillQueryImpl$TagOrId: org.apache.hive.service.server.KillQueryImpl$TagOrId TAG>;
v = <org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Query found with tag: {}", v);
label:
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
specialinvoke v.<org.apache.hive.service.server.KillQueryImpl: void killOperations(java.lang.String,java.lang.String,org.apache.hadoop.hive.conf.HiveConf,org.apache.hive.service.server.KillQueryImpl$TagOrId,java.util.Set,java.lang.String,boolean)>(v, v, v, v, v, v, v);
goto label;
label:
v = <org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Query not found with tag/id: {}", v);
if v != 0 goto label;
v = v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.server.KillQueryZookeeperManager killQueryZookeeperManager>;
if v == null goto label;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_ZOOKEEPER_KILLQUERY_ENABLE>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: boolean getBoolVar(org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v);
if v == 0 goto label;
label:
v = <org.apache.hive.service.server.KillQueryImpl: 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[])>("Killing query with zookeeper coordination: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
v = v.<org.apache.hive.service.server.KillQueryImpl: org.apache.hive.service.server.KillQueryZookeeperManager killQueryZookeeperManager>;
v = staticinvoke <org.apache.hadoop.hive.ql.session.SessionState: org.apache.hadoop.hive.ql.session.SessionState get()>();
v = virtualinvoke v.<org.apache.hadoop.hive.ql.session.SessionState: org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider getAuthenticator()>();
v = interfaceinvoke v.<org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider: java.lang.String getUserName()>();
v = staticinvoke <org.apache.hive.service.server.KillQueryImpl: boolean isAdmin()>();
virtualinvoke v.<org.apache.hive.service.server.KillQueryZookeeperManager: void killQuery(java.lang.String,java.lang.String,boolean)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hive.service.server.KillQueryImpl: 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[])>("Kill query failed for queryId: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = new org.apache.hadoop.hive.ql.metadata.HiveException;
specialinvoke v.<org.apache.hadoop.hive.ql.metadata.HiveException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to kill query locally or on remote servers.", v);
throw v;
label:
v = <org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Unable to kill query with id {}", v);
label:
return;
catch java.io.IOException from label to label with label;
}
private void killOperations(java.lang.String, java.lang.String, org.apache.hadoop.hive.conf.HiveConf, org.apache.hive.service.server.KillQueryImpl$TagOrId, java.util.Set, java.lang.String, boolean) throws org.apache.hadoop.hive.ql.metadata.HiveException
{
int[] v;
int v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v;
org.apache.hive.service.cli.HiveSQLException v, v, v;
org.slf4j.Logger v;
java.util.Iterator v, v;
org.apache.hive.service.server.KillQueryImpl$TagOrId v;
org.apache.hadoop.hive.conf.HiveConf v;
java.util.Set v;
org.apache.hive.service.server.KillQueryImpl v;
java.lang.Object v, v;
org.apache.hadoop.hive.ql.metadata.HiveException v;
v := @this: org.apache.hive.service.server.KillQueryImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: org.apache.hive.service.server.KillQueryImpl$TagOrId;
v := @parameter: java.util.Set;
v := @parameter: java.lang.String;
v := @parameter: boolean;
label:
v = <org.apache.hive.service.server.KillQueryImpl$1: int[] $SwitchMap$org$apache$hive$service$server$KillQueryImpl$TagOrId>;
v = virtualinvoke v.<org.apache.hive.service.server.KillQueryImpl$TagOrId: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = specialinvoke v.<org.apache.hive.service.server.KillQueryImpl: boolean cancelOperation(org.apache.hive.service.cli.operation.Operation,java.lang.String,boolean,java.lang.String)>(v, v, v, v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hive.service.cli.operation.Operation: java.lang.String getQueryTag()>();
if v != null goto label;
v = v;
label:
staticinvoke <org.apache.hive.service.server.KillQueryImpl: void killChildYarnJobs(org.apache.hadoop.conf.Configuration,java.lang.String,java.lang.String,boolean)>(v, v, v, v);
goto label;
label:
v = new org.apache.hive.service.cli.HiveSQLException;
specialinvoke v.<org.apache.hive.service.cli.HiveSQLException: void <init>(java.lang.String)>("No privilege to kill query id");
throw v;
label:
v = 0;
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 = specialinvoke v.<org.apache.hive.service.server.KillQueryImpl: boolean cancelOperation(org.apache.hive.service.cli.operation.Operation,java.lang.String,boolean,java.lang.String)>(v, v, v, v);
if v == 0 goto label;
v = v + 1;
goto label;
label:
if v != 0 goto label;
v = new org.apache.hive.service.cli.HiveSQLException;
specialinvoke v.<org.apache.hive.service.cli.HiveSQLException: void <init>(java.lang.String)>("No privilege to kill query tag");
throw v;
label:
staticinvoke <org.apache.hive.service.server.KillQueryImpl: void killChildYarnJobs(org.apache.hadoop.conf.Configuration,java.lang.String,java.lang.String,boolean)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.hive.service.server.KillQueryImpl: 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[])>("Kill query failed for query \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = new org.apache.hadoop.hive.ql.metadata.HiveException;
v = virtualinvoke v.<org.apache.hive.service.cli.HiveSQLException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.hadoop.hive.ql.metadata.HiveException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch org.apache.hive.service.cli.HiveSQLException from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/hive/service/server/KillQueryImpl;");
<org.apache.hive.service.server.KillQueryImpl: org.slf4j.Logger LOG> = v;
return;
}
}