You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Robert Joseph Evans (JIRA)" <ji...@apache.org> on 2011/08/17 23:05:27 UTC

[jira] [Commented] (HADOOP-7532) Hadoop web UI 2.0

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

Robert Joseph Evans commented on HADOOP-7532:
---------------------------------------------

I have a few concerns about the current framework that I would like to have addressed before it rolls out to the rest of Hadoop.  Most of these are minor nits I have from my current work with the framework to split the history server UI away from the application master UI.

# Actual HTML4 strict compliance (This is mostly because HTML strict compliance is touted a lot in MAPREDUCE-2399.  I am not an expert on HTML, but I think that {quote}

<!--================ Document Structure ==================================-->
<!ENTITY % html.content "HEAD, BODY">

<!ELEMENT HTML O O (%html.content;)    -- document root element -->
<!ATTLIST HTML
  %i18n;                               -- lang, dir --
  >
{quote} from http://www.w3.org/TR/html401/sgml/dtd.html says that the only thing under HTML should be HEAD or BODY, but none of the pages I have seen generated include a head or a body tag.
# Java Script (JQuery) code not being part of the model.  Right now if I have a subview that uses some javascript initialization then that needs to be thrown into the model that is generated by the parent view. In [NavBlock.java|http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/mr-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/webapp/NavBlock.java?revision=1134994&view=markup] and [AppView.java|http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/mr-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/webapp/AppView.java?revision=1134994&view=markup] lines 37 and 38 the two classes are highly coupled now and it is very difficult if not impossible to replace NavBlock.java with something else.  This is also true for the various data tables that are used in the code.   
# Common JQuery widgets.  We use data table all over the place.  Much of the code for this is the same or very similar everywhere.  It would be very nice to have a common DataTable SubView that a developer can set the column types, and which columns should support sorting, etc.  Then just populate it with the data, instead of manually making almost identical changes many different places to support a different JQuery feature not used before.
# Odd Injection from the stack. [JobBlock.java|http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/mr-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/webapp/JobBlock.java?revision=1134994&view=markup] line 98 renders an InfoBlock.class.  It has a ResponseInfo class injected into it.  It is very very confusing to know that lines 90 through 96 are some how creating the ResponseInfo instance that will be injected into the InfoBlock.  In my opinion it is much cleaner to not to rely on Guice to inject the dependencies in this case.

Like I said these are a few minor annoyances but they add up so that making changes to a page more difficult.  For the Job History server I had to copy several different classes that had almost no changes at all in them simply to replace the NavBlock with something more appropriate for the History Server. 

> Hadoop web UI 2.0
> -----------------
>
>                 Key: HADOOP-7532
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7532
>             Project: Hadoop Common
>          Issue Type: Improvement
>    Affects Versions: 0.23.0
>            Reporter: Luke Lu
>            Assignee: Luke Lu
>             Fix For: 0.23.0
>
>
> People have expressed interests of bringing Hadoop web UI up to date with the lightweight embedded web mvc framework used in MAPREDUCE-279 (cf. MAPREDUCE-2399). This is the umbrella jira for UI improvement for 0.23+. Individual items like web framework refactor/move and the unique challenge for MR2 webapp security will be filed separately.
> Thoughts/ideas on various improvement of Hadoop web UI are welcome here. Some of the ideas will naturally become sub-issues.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira