[
https://issues.apache.org/jira/browse/YARN-4755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15177366#comment-15177366
]
Rohith Sharma K S commented on YARN-4755:
-----------------------------------------
bq. But appCreated will be send only whne RMApp is created and START event is
fired
Event appCreated is sent in RMAppImpl constructor which always go first. So I
think events appCreated and appACLUpdated can be clubbed together unless there
is no dependencies from timelineserver end.
> Optimize sending appACLsUpdated event to TimelineServer while recovering
> completed applications
> -----------------------------------------------------------------------------------------------
>
> Key: YARN-4755
> URL: https://issues.apache.org/jira/browse/YARN-4755
> Project: Hadoop YARN
> Issue Type: Improvement
> Reporter: Rohith Sharma K S
> Assignee: Naganarasimha G R
>
> In method {{RMAppManager#createAndPopulateNewRMApp}}, appACLsUpdated is sent
> to timelineserver for every application that get created.
> {code}
> private RMAppImpl createAndPopulateNewRMApp(
> ApplicationSubmissionContext submissionContext, long submitTime,
> String user, boolean isRecovery) throws YarnException {
> //
> //
> String appViewACLs = submissionContext.getAMContainerSpec()
> .getApplicationACLs().get(ApplicationAccessType.VIEW_APP);
> rmContext.getSystemMetricsPublisher().appACLsUpdated(
> application, appViewACLs, System.currentTimeMillis());
> return application;
> }
> {code}
> Say if we have 10K completed applications to recover, 30K events will be
> generated i.e app_created, app_finished and app_acl_updated. For completed
> applications, I think need not to send app-acl-updated event with which
> gradually reduce load on the dispatcher.
> Eventhough MultiDispatcher is used to publish timeline events, it is bottle
> neck when max-completed is configured very high value may be 100K.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)