[ 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)