public class org.apache.drill.yarn.core.YarnRMClient extends java.lang.Object
{
private final org.apache.hadoop.yarn.conf.YarnConfiguration conf;
private final org.apache.hadoop.yarn.client.api.YarnClient yarnClient;
private org.apache.hadoop.yarn.api.records.ApplicationId appId;
private org.apache.hadoop.yarn.client.api.YarnClientApplication app;
public void <init>()
{
org.apache.hadoop.yarn.conf.YarnConfiguration v;
org.apache.drill.yarn.core.YarnRMClient v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
v = new org.apache.hadoop.yarn.conf.YarnConfiguration;
specialinvoke v.<org.apache.hadoop.yarn.conf.YarnConfiguration: void <init>()>();
specialinvoke v.<org.apache.drill.yarn.core.YarnRMClient: void <init>(org.apache.hadoop.yarn.conf.YarnConfiguration)>(v);
return;
}
public void <init>(org.apache.hadoop.yarn.api.records.ApplicationId)
{
org.apache.hadoop.yarn.api.records.ApplicationId v;
org.apache.drill.yarn.core.YarnRMClient v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
v := @parameter: org.apache.hadoop.yarn.api.records.ApplicationId;
specialinvoke v.<org.apache.drill.yarn.core.YarnRMClient: void <init>()>();
v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationId appId> = v;
return;
}
public void <init>(org.apache.hadoop.yarn.conf.YarnConfiguration)
{
org.apache.hadoop.yarn.conf.YarnConfiguration v;
org.apache.drill.yarn.core.YarnRMClient v;
org.apache.hadoop.yarn.client.api.YarnClient v, v, v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
v := @parameter: org.apache.hadoop.yarn.conf.YarnConfiguration;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.conf.YarnConfiguration conf> = v;
v = staticinvoke <org.apache.hadoop.yarn.client.api.YarnClient: org.apache.hadoop.yarn.client.api.YarnClient createYarnClient()>();
v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClient yarnClient> = v;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClient yarnClient>;
virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: void init(org.apache.hadoop.conf.Configuration)>(v);
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClient yarnClient>;
virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: void start()>();
return;
}
public org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse createAppMaster() throws org.apache.drill.yarn.core.YarnClientException
{
java.lang.Throwable v;
org.apache.drill.yarn.core.YarnRMClient v;
org.apache.hadoop.yarn.client.api.YarnClient v;
org.apache.hadoop.yarn.client.api.YarnClientApplication v, v;
org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse v;
org.apache.drill.yarn.core.YarnClientException v;
org.apache.hadoop.yarn.api.records.ApplicationId v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
label:
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClient yarnClient>;
v = virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: org.apache.hadoop.yarn.client.api.YarnClientApplication createApplication()>();
v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClientApplication app> = v;
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.drill.yarn.core.YarnClientException;
specialinvoke v.<org.apache.drill.yarn.core.YarnClientException: void <init>(java.lang.String,java.lang.Exception)>("Create application failed", v);
throw v;
label:
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClientApplication app>;
v = virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClientApplication: org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse getNewApplicationResponse()>();
v = virtualinvoke v.<org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse: org.apache.hadoop.yarn.api.records.ApplicationId getApplicationId()>();
v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationId appId> = v;
return v;
catch org.apache.hadoop.yarn.exceptions.YarnException from label to label with label;
catch java.io.IOException from label to label with label;
}
public void submitAppMaster(org.apache.drill.yarn.core.AppSpec) throws org.apache.drill.yarn.core.YarnClientException
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
org.apache.drill.yarn.core.YarnRMClient v;
org.apache.hadoop.yarn.client.api.YarnClient v;
java.io.IOException v;
org.apache.hadoop.yarn.client.api.YarnClientApplication v, v;
org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext v;
org.apache.hadoop.yarn.conf.YarnConfiguration v;
org.apache.drill.yarn.core.YarnClientException v, v;
org.apache.drill.yarn.core.AppSpec v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
v := @parameter: org.apache.drill.yarn.core.AppSpec;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClientApplication app>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("call createAppMaster( ) first");
throw v;
label:
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.conf.YarnConfiguration conf>;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClientApplication app>;
v = virtualinvoke v.<org.apache.drill.yarn.core.AppSpec: org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext createAppLaunchContext(org.apache.hadoop.yarn.conf.YarnConfiguration,org.apache.hadoop.yarn.client.api.YarnClientApplication)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.drill.yarn.core.YarnClientException;
specialinvoke v.<org.apache.drill.yarn.core.YarnClientException: void <init>(java.lang.String,java.lang.Exception)>("Create app launch context failed", v);
throw v;
label:
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClient yarnClient>;
virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: org.apache.hadoop.yarn.api.records.ApplicationId submitApplication(org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.drill.yarn.core.YarnClientException;
specialinvoke v.<org.apache.drill.yarn.core.YarnClientException: void <init>(java.lang.String,java.lang.Exception)>("Submit application failed", v);
throw 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;
}
public org.apache.hadoop.yarn.api.records.ApplicationId getAppId()
{
org.apache.hadoop.yarn.api.records.ApplicationId v;
org.apache.drill.yarn.core.YarnRMClient v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationId appId>;
return v;
}
public org.apache.hadoop.yarn.api.records.ApplicationReport getAppReport() throws org.apache.drill.yarn.core.YarnClientException
{
java.lang.Throwable v;
org.apache.drill.yarn.core.YarnClientException v;
org.apache.hadoop.yarn.api.records.ApplicationId v;
org.apache.drill.yarn.core.YarnRMClient v;
org.apache.hadoop.yarn.client.api.YarnClient v;
org.apache.hadoop.yarn.api.records.ApplicationReport v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
label:
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClient yarnClient>;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationId appId>;
v = virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: org.apache.hadoop.yarn.api.records.ApplicationReport getApplicationReport(org.apache.hadoop.yarn.api.records.ApplicationId)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.drill.yarn.core.YarnClientException;
specialinvoke v.<org.apache.drill.yarn.core.YarnClientException: void <init>(java.lang.String,java.lang.Exception)>("Get application report failed", v);
throw v;
catch org.apache.hadoop.yarn.exceptions.YarnException from label to label with label;
catch java.io.IOException from label to label with label;
}
public org.apache.hadoop.yarn.api.records.ApplicationAttemptId waitForStart() throws org.apache.drill.yarn.core.YarnClientException
{
java.io.PrintStream v;
org.apache.hadoop.yarn.api.records.ApplicationAttemptId v;
org.apache.drill.yarn.core.YarnRMClient v;
org.apache.drill.yarn.core.YarnClientException v;
java.lang.InterruptedException v;
org.apache.hadoop.yarn.api.records.ApplicationReport v;
org.apache.hadoop.yarn.api.records.YarnApplicationState v, v, v, v, v;
java.lang.String v, v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
label:
v = virtualinvoke v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationReport getAppReport()>();
v = virtualinvoke v.<org.apache.hadoop.yarn.api.records.ApplicationReport: org.apache.hadoop.yarn.api.records.YarnApplicationState getYarnApplicationState()>();
v = virtualinvoke v.<org.apache.hadoop.yarn.api.records.ApplicationReport: org.apache.hadoop.yarn.api.records.ApplicationAttemptId getCurrentApplicationAttemptId()>();
v = <org.apache.hadoop.yarn.api.records.YarnApplicationState: org.apache.hadoop.yarn.api.records.YarnApplicationState NEW>;
if v == v goto label;
v = <org.apache.hadoop.yarn.api.records.YarnApplicationState: org.apache.hadoop.yarn.api.records.YarnApplicationState NEW_SAVING>;
if v == v goto label;
v = <org.apache.hadoop.yarn.api.records.YarnApplicationState: org.apache.hadoop.yarn.api.records.YarnApplicationState SUBMITTED>;
if v != v goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.yarn.api.records.YarnApplicationState)>(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[])>("App State: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
staticinvoke <java.lang.Thread: void sleep(long)>(1000L);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = <org.apache.hadoop.yarn.api.records.YarnApplicationState: org.apache.hadoop.yarn.api.records.YarnApplicationState ACCEPTED>;
if v == v goto label;
v = new org.apache.drill.yarn.core.YarnClientException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.yarn.api.records.YarnApplicationState)>(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[])>("Application start failed with status \u0001");
specialinvoke v.<org.apache.drill.yarn.core.YarnClientException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
catch java.lang.InterruptedException from label to label with label;
}
public void waitForCompletion() throws org.apache.drill.yarn.core.YarnClientException
{
java.io.PrintStream v;
org.apache.drill.yarn.core.YarnRMClient v;
long v;
org.apache.hadoop.yarn.api.records.ApplicationId v;
java.lang.InterruptedException v;
org.apache.hadoop.yarn.api.records.ApplicationReport v;
org.apache.hadoop.yarn.api.records.YarnApplicationState v, v, v, v;
java.lang.String v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
label:
v = virtualinvoke v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationReport getAppReport()>();
v = virtualinvoke v.<org.apache.hadoop.yarn.api.records.ApplicationReport: org.apache.hadoop.yarn.api.records.YarnApplicationState getYarnApplicationState()>();
v = <org.apache.hadoop.yarn.api.records.YarnApplicationState: org.apache.hadoop.yarn.api.records.YarnApplicationState FINISHED>;
if v == v goto label;
v = <org.apache.hadoop.yarn.api.records.YarnApplicationState: org.apache.hadoop.yarn.api.records.YarnApplicationState KILLED>;
if v == v goto label;
v = <org.apache.hadoop.yarn.api.records.YarnApplicationState: org.apache.hadoop.yarn.api.records.YarnApplicationState FAILED>;
if v == v goto label;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(100L);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationId appId>;
v = virtualinvoke v.<org.apache.hadoop.yarn.api.records.ApplicationReport: long getFinishTime()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hadoop.yarn.api.records.ApplicationId,org.apache.hadoop.yarn.api.records.YarnApplicationState,long)>(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[])>("Application \u finished with state \u at \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
return;
catch java.lang.InterruptedException from label to label with label;
}
public org.apache.hadoop.security.token.Token getAMRMToken() throws org.apache.drill.yarn.core.YarnClientException
{
java.lang.Throwable v;
org.apache.drill.yarn.core.YarnClientException v;
org.apache.hadoop.yarn.api.records.ApplicationId v;
org.apache.drill.yarn.core.YarnRMClient v;
org.apache.hadoop.yarn.client.api.YarnClient v;
org.apache.hadoop.security.token.Token v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
label:
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClient yarnClient>;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationId appId>;
v = virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: org.apache.hadoop.security.token.Token getAMRMToken(org.apache.hadoop.yarn.api.records.ApplicationId)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.drill.yarn.core.YarnClientException;
specialinvoke v.<org.apache.drill.yarn.core.YarnClientException: void <init>(java.lang.String,java.lang.Exception)>("Get AM/RM token failed", v);
throw v;
catch org.apache.hadoop.yarn.exceptions.YarnException from label to label with label;
catch java.io.IOException from label to label with label;
}
public java.lang.String[] getYarnAppClassPath()
{
org.apache.hadoop.yarn.conf.YarnConfiguration v;
org.apache.drill.yarn.core.YarnRMClient v;
java.lang.String[] v, v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.conf.YarnConfiguration conf>;
v = <org.apache.hadoop.yarn.conf.YarnConfiguration: java.lang.String[] DEFAULT_YARN_APPLICATION_CLASSPATH>;
v = virtualinvoke v.<org.apache.hadoop.yarn.conf.YarnConfiguration: java.lang.String[] getStrings(java.lang.String,java.lang.String[])>("yarn.application.classpath", v);
return v;
}
public void killApplication() throws org.apache.drill.yarn.core.YarnClientException
{
java.lang.Throwable v;
org.apache.drill.yarn.core.YarnRMClient v;
org.apache.hadoop.yarn.client.api.YarnClient v;
org.apache.drill.yarn.core.YarnClientException v;
org.apache.hadoop.yarn.api.records.ApplicationId v, v;
java.lang.String v, v;
v := @this: org.apache.drill.yarn.core.YarnRMClient;
label:
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.client.api.YarnClient yarnClient>;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationId appId>;
virtualinvoke v.<org.apache.hadoop.yarn.client.api.YarnClient: void killApplication(org.apache.hadoop.yarn.api.records.ApplicationId)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.drill.yarn.core.YarnClientException;
v = v.<org.apache.drill.yarn.core.YarnRMClient: org.apache.hadoop.yarn.api.records.ApplicationId appId>;
v = virtualinvoke v.<org.apache.hadoop.yarn.api.records.ApplicationId: 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[])>("Kill failed for application: \u0001");
specialinvoke v.<org.apache.drill.yarn.core.YarnClientException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch org.apache.hadoop.yarn.exceptions.YarnException from label to label with label;
catch java.io.IOException from label to label with label;
}
}