[ 
https://issues.apache.org/jira/browse/YARN-1809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13931121#comment-13931121
 ] 

Zhijie Shen commented on YARN-1809:
-----------------------------------

I've uploaded an initial patch. The basic approach of synchronizing web-UIs is 
to decouple web page rendering and loading the data:

1. Have a common interface, which is ApplicationInformationProtocol, which has 
getApplication(s)/AppAttempt(s)/Container(s), and ApplicationClientProtocol and 
ApplicationHistoryProtocol extend it.
2. RMWebApps and AHSWebApps respectively use ClientRMService and 
ApplicationHistoryClientService to retrieve the data.
3. Both RM and AHS share App(s)Block, AppAttemptBlock and ContainerBlock for 
rendering the web pages.

In this approach, there're two additional benefits:

1. RPC/web-UI/RESTful Service share the data source to achieve the data 
consistency.
2. The web page doesn't need to handle the access check separately. 
ClientRMService and ApplicationHistoryClientService are supposed to do that.

Here're something that needs to be pointed out in this patch.

1. In this patch, serving running container log in RM web-UI is not covered. We 
need to think more about whether RM web-UI should serve the log as NM web-UI 
does or not.

2. ApplicationHistoryClientService#getApplications() hasn't filter capability 
(YARN-1819), so I walk around by doing one more pass of filtering in AppsBlock, 
though it is not necessary if AppsBlock is used by RM web-UI, because 
ClientRMService#getApplications can get the list filtered internally.

> Synchronize RM and Generic History Service Web-UIs
> --------------------------------------------------
>
>                 Key: YARN-1809
>                 URL: https://issues.apache.org/jira/browse/YARN-1809
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>         Attachments: YARN-1809.1.patch
>
>
> After YARN-953, the web-UI of generic history service is provide more 
> information than that of RM, the details about app attempt and container. 
> It's good to provide similar web-UIs, but retrieve the data from separate 
> source, i.e., RM cache and history store respectively.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to