Skip to content

Commit e3baf91

Browse files
[GOBBLIN-2166] Add azkaban exec props for GoT jobs as RMAppSummaryEvent app. tags (#4067)
* Add application tag to the app submission context
1 parent 4f60423 commit e3baf91

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

gobblin-yarn/src/main/java/org/apache/gobblin/yarn/GobblinYarnAppLauncher.java

+10
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.IOException;
2222
import java.net.URI;
2323
import java.nio.ByteBuffer;
24+
import java.util.Arrays;
2425
import java.util.EnumSet;
2526
import java.util.HashMap;
2627
import java.util.HashSet;
@@ -173,6 +174,10 @@ public class GobblinYarnAppLauncher {
173174

174175
private static final String GOBBLIN_YARN_APPLICATION_TYPE = "GOBBLIN_YARN";
175176

177+
// The application tags are set by HadoopJavaJob on mapreduce key even though it is not a mapreduce job
178+
// Reference: https://github.com/azkaban/azkaban/blob/6db750049f6fdf7842e18b8d533a3b736429bdf4/az-hadoop-jobtype-plugin/src/main/java/azkaban/jobtype/AbstractHadoopJavaProcessJob.java#L96
179+
private static final String APPLICATION_TAGS_KEY = "hadoop-inject.mapreduce.job.tags";
180+
176181
// The set of Yarn application types this class is interested in. This is used to
177182
// lookup the application this class has launched previously upon restarting.
178183
private static final Set<String> APPLICATION_TYPES = ImmutableSet.of(GOBBLIN_YARN_APPLICATION_TYPE);
@@ -575,6 +580,11 @@ ApplicationId setupAndSubmitApplication() throws IOException, YarnException, Int
575580
LOGGER.info("creating new yarn application");
576581
YarnClientApplication gobblinYarnApp = this.yarnClient.createApplication();
577582
ApplicationSubmissionContext appSubmissionContext = gobblinYarnApp.getApplicationSubmissionContext();
583+
if (config.hasPath(APPLICATION_TAGS_KEY)) {
584+
String tags = config.getString(APPLICATION_TAGS_KEY);
585+
Set<String> tagSet = new HashSet<>(Arrays.asList(tags.split(",")));
586+
appSubmissionContext.setApplicationTags(tagSet);
587+
}
578588
appSubmissionContext.setApplicationType(GOBBLIN_YARN_APPLICATION_TYPE);
579589
appSubmissionContext.setMaxAppAttempts(ConfigUtils.getInt(config, GobblinYarnConfigurationKeys.APP_MASTER_MAX_ATTEMPTS_KEY, GobblinYarnConfigurationKeys.DEFAULT_APP_MASTER_MAX_ATTEMPTS_KEY));
580590
ApplicationId applicationId = appSubmissionContext.getApplicationId();

0 commit comments

Comments
 (0)