[
https://issues.apache.org/jira/browse/HDFS-6808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lei (Eddy) Xu updated HDFS-6808:
--------------------------------
Attachment: HDFS-6808.006.patch
Hi, [~cmccabe], thanks for your great suggestions. Async API makes more sense.
I've changed the patch to reflect the discussions. In summary, this patch
* Changes the Reconfiguration framework from HDFS-7001. It adds
{{ReconfigurableBase#startReconfigureTask()}} which starts a background thread
to do configuration reloading, so that it supports async API. Also it checks
whether there is an active task is running, if so it returns errors.
* Provides CLI command (similar to {{btrfs scrub start|status}} to start and
query the status of the reconfiguration work.
{noformat}
dfsadmin -reconfig -datanode [start|status] <host:port>
{noformat}
But no {{-reconfig cancel}} is provided, because there is not an obvious way
for me to interrupt the reconfiguration process while ensures {{DN}}
consistent. Maybe we can fix it later.
* The protobuf protocol for {{-reconfig status}} is basically returning a
{{Map<conf change, error message>}}, with task start and/or end times. It is
the caller's (i.e., {{DFSAdmin}}) responsibility to print these error messages,
so that it can generate CLI messages, XML, HTML...
> Add command line option to ask DataNode reload configuration.
> -------------------------------------------------------------
>
> Key: HDFS-6808
> URL: https://issues.apache.org/jira/browse/HDFS-6808
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: datanode
> Affects Versions: 2.5.0
> Reporter: Lei (Eddy) Xu
> Assignee: Lei (Eddy) Xu
> Attachments: HDFS-6808.000.combo.patch, HDFS-6808.000.patch,
> HDFS-6808.001.combo.patch, HDFS-6808.001.patch, HDFS-6808.002.combo.patch,
> HDFS-6808.002.patch, HDFS-6808.003.combo.txt, HDFS-6808.003.patch,
> HDFS-6808.004.combo.patch, HDFS-6808.004.patch, HDFS-6808.005.combo.patch,
> HDFS-6808.005.patch, HDFS-6808.006.patch
>
>
> The workflow of dynamically changing data volumes on DataNode is
> # Users manually changed {{dfs.datanode.data.dir}} in the configuration file
> # User use command line to notify DN to reload configuration and updates its
> volumes.
> This work adds command line support to notify DN to reload configuration.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)