[
https://issues.apache.org/jira/browse/HADOOP-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645895#action_12645895
]
Konstantin Shvachko commented on HADOOP-4618:
---------------------------------------------
I came to this conclusion trying to implement a standby node. SNN and NN should
be represented by the same class, since one can turn into another and vice
versa during their life time. I realized that with current implementation the
node startup logic will be spread between two classes ({{NameNode}} and
{{FSNamesystem}}), which is inconvenient, complex, and error prone.
One of the consequences of the current design is that we expose
{{FSNamesystem}} to jsp-s and servlets through a static public method
{{getFSNamesystem()}}, which returns {{this}}. This seems to be an unnecessary
shortcut, because all jsp-s and servlets have a reference to the {{NameNode}}
instance and can access {{FSNamesystem}} data via name-node.
This also creates redundant fields in {{FSNamesystem}} like name-node's host,
port and infoPort.
> Move http server from FSNamesystem into NameNode.
> -------------------------------------------------
>
> Key: HADOOP-4618
> URL: https://issues.apache.org/jira/browse/HADOOP-4618
> Project: Hadoop Core
> Issue Type: Improvement
> Components: dfs
> Affects Versions: 0.1.0
> Reporter: Konstantin Shvachko
> Assignee: Konstantin Shvachko
> Fix For: 0.20.0
>
>
> NameNode is responsible now for starting its RPC server. The (web UI) http
> server is started inside FSNamesystem class.
> I think it should be the NameNode's responsibility to deal with all issues
> intended for exposing information it holds to the outside world. This should
> include the RCP server as well as the http server.
> And FSNamesystem class should be a logical container of internal namespace
> data-structures and in general should not be accessed directly from the
> outside.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.