[ https://issues.apache.org/jira/browse/HDFS-1477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14981231#comment-14981231 ]
Arpit Agarwal edited comment on HDFS-1477 at 10/29/15 8:43 PM: --------------------------------------------------------------- Hi [~xiaobingo], thanks for taking this up. My comments on the v5 patch: # FsNameSystem and DatanodeManager need not implement Reconfigurable, since their Reconfigurable methods are only invoked via NameNode. # What does getNewConf() do? Looks like it just constructs a new config object by re-reading the config files? There should have been a Javadoc on the base class method, perhaps we can add one now. # Can we just skip implementing reconfiguration via the servlet? A better approach is to have the daemon re-read its config files like HDFS-6808 (which you pointed out to me offline :-). Looks like you will need a new RPC call and support on the client. Also it would be good to log the reconfiguration request in the hdfs audit log. # Nitpicks: Fix indentation in DatanodeManager#reconfigurePropertyImpl. # {{#reconfigurePropertyImpl}} - get {{namesystem.writeLock()}} outside the {{try}} block. Other suggestions for separate subtasks. # The list of reconfigurable properties should not be hard-coded. We can add an annotation to the reconfigurable properties. # Add {{ReconfigurableBase}} support for atomic updates, i.e. all or no changes take effect. # Documentation. was (Author: arpitagarwal): Hi [~xiaobingo], thanks for taking this up. My comments on the v5 patch: # FsNameSystem and DatanodeManager need implement Reconfigurable, since their Reconfigurable methods are only invoked via NameNode. # What does getNewConf() do? Looks like it just constructs a new config object by re-reading the config files? There should have been a Javadoc on the base class method, perhaps we can add one now. # Can we just skip implementing reconfiguration via the servlet? A better approach is to have the daemon re-read its config files like HDFS-6808 (which you pointed out to me offline :-). Looks like you will need a new RPC call and support on the client. Also it would be good to log the reconfiguration request in the hdfs audit log. # Nitpicks: Fix indentation in DatanodeManager#reconfigurePropertyImpl. # {{#reconfigurePropertyImpl}} - get {{namesystem.writeLock()}} outside the {{try}} block. Other suggestions for separate subtasks. # The list of reconfigurable properties should not be hard-coded. We can add an annotation to the reconfigurable properties. # Add {{ReconfigurableBase}} support for atomic updates, i.e. all or no changes take effect. # Documentation. > Make NameNode Reconfigurable. > ----------------------------- > > Key: HDFS-1477 > URL: https://issues.apache.org/jira/browse/HDFS-1477 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: namenode > Affects Versions: 2.7.0 > Reporter: Patrick Kling > Assignee: Xiaobing Zhou > Attachments: HDFS-1477.005.patch, HDFS-1477.2.patch, > HDFS-1477.3.patch, HDFS-1477.4.patch, HDFS-1477.patch > > > Modify NameNode to implement the interface Reconfigurable proposed in > HADOOP-7001. This would allow us to change certain configuration properties > without restarting the name node. -- This message was sent by Atlassian JIRA (v6.3.4#6332)