[ 
https://issues.apache.org/jira/browse/HADOOP-7001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Patrick Kling updated HADOOP-7001:
----------------------------------

    Attachment: HADOOP-7001.2.patch

As suggested by Doug, I have renamed the methods in Reconfigurable. I have also 
renamed ConfigurationChangeException to ReconfigurationException and 
ConfigurationChangeServlet to ReconfigurationServlet to keep everything 
consistent.

Please see HDFS-1477 for a patch that makes NameNode Reconfigurable and allows 
us to change 2 properties.

The servlet now returns error code 500 if a change fails.

A command line tool for changing configuration properties sounds like a good 
idea but I am not quite sure how to provide a generic version of such a tool. 
If the command line tool runs locally, very little functionality beyond calling 
the interface methods would be needed. Maybe it would be best to leave command 
line utilities to a later JIRA once it becomes more clear if there is a need 
for additional support.

> Allow configuration changes without restarting configured nodes
> ---------------------------------------------------------------
>
>                 Key: HADOOP-7001
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7001
>             Project: Hadoop Common
>          Issue Type: Task
>            Reporter: Patrick Kling
>            Assignee: Patrick Kling
>         Attachments: HADOOP-7001.2.patch, HADOOP-7001.patch, 
> reconfigurable.patch
>
>
> Currently, changing the configuration on a node (e.g., the name node) 
> requires that we restart the node. We propose a change that would allow us to 
> make configuration changes without restarting. Nodes that support 
> configuration changes at run time should implement the following interface:
> interface ChangeableConfigured extends Configured {
>    void changeConfiguration(Configuration newConf) throws 
> ConfigurationChangeException;
> }
> The contract of changeConfiguration is as follows:
> The node will compare newConf to the existing configuration. For each 
> configuration property that is set to a different value than in the current 
> configuration, the node will either adjust its behaviour to conform to the 
> new configuration or throw a ConfigurationChangeException if this change is 
> not possible at run time. If a configuration property is set in the current 
> configuration but is unset in newConf, the node should use its default value 
> for this property. After a successful invocation of changeConfiguration, the 
> behaviour of the configured node should be indistinguishable from the 
> behaviour of a node that was configured with newConf at creation.
> It should be easy to change existing nodes to implement this interface. We 
> can start by throwing the exception for all changes and then gradually start 
> supporting more and more changes at run time. (We might even consider 
> replacing Configured with ChangeableConfigured entirely, but I think the 
> proposal above afford greater flexibility).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to