[
https://issues.apache.org/jira/browse/HDFS-8582?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lei (Eddy) Xu updated HDFS-8582:
--------------------------------
Attachment: HDFS-8582.003.patch
Thanks a lot for the reviews, [~cmccabe]. I made the following changes based on
your comments:
* {{listAllowed}} to {{properties}} subcommand.
* {{GetReconfigurationAllowedPropertiesResponse}} to
{{ListReconfigurablePropertiesResponse}}. The reason that I did not change it
to {{GetReconfigurablePropertiesResponse}} is that {{ReconfiguableBase}} has a
{{#getReconfigurableProperties()}} function, thus I could not use the same name
in {{ClientProtocol}}. Naming the protobuf to {{List...}} makes it consistent
with {{ClientDatanodeProtocol}}.
bq. So it should use the correct defaults for the datanode.
Currently, the following properties that are different
{noformat}
rpc.engine.org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolPB
rpc.engine.org.apache.hadoop.hdfs.protocolPB.InterDatanodeProtocolPB
rpc.engine.org.apache.hadoop.ipc.ProtocolMetaInfoPB
rpc.engine.org.apache.hadoop.hdfs.protocolPB.ClientDatanodeProtocolPB
rpc.engine.org.apache.hadoop.tracing.TraceAdminProtocolPB
mapreduce.client.genericoptionsparser.used
dfs.datanode.startup
{noformat}
{{rpc.engine.*}} are set in {{DataNode#initIpcServer}}, {{dfs.datanode.setup}}
is set in {{DataNode#parseArguments()}} which is in {{main()}}, and
{{mapreduce.client.genericoptionsparser.used}} is set in
{{GenericOptionsParser}}. It might not clean to simply set default values of
these properties in {{DataNode#getNewConf()}}, because the further code changes
might break the consistency between them. So for now, I let {{ReconfigureBase}}
ignore non-reconfigurable properties and put them in log. User should use
{{-reconfig properties}} to check whether a property is supported first.
[~cmccabe] What would you think?
> Reduce failure messages when running datanode reconfiguration
> -------------------------------------------------------------
>
> Key: HDFS-8582
> URL: https://issues.apache.org/jira/browse/HDFS-8582
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: HDFS
> Affects Versions: 2.7.0
> Reporter: Lei (Eddy) Xu
> Assignee: Lei (Eddy) Xu
> Priority: Minor
> Attachments: HDFS-8582.000.patch, HDFS-8582.001.patch,
> HDFS-8582.002.patch, HDFS-8582.003.patch
>
>
> When running a DN reconfig to hotswap some drives, it spits out this output:
> {noformat}
> $ hdfs dfsadmin -reconfig datanode localhost:9023 status
> 15/06/09 14:58:10 WARN util.NativeCodeLoader: Unable to load native-hadoop
> library for your platform... using builtin-java classes where applicable
> Reconfiguring status for DataNode[localhost:9023]: started at Tue Jun 09
> 14:57:37 PDT 2015 and finished at Tue Jun 09 14:57:56 PDT 2015.
> FAILED: Change property
> rpc.engine.org.apache.hadoop.hdfs.protocolPB.ClientDatanodeProtocolPB
> From: "org.apache.hadoop.ipc.ProtobufRpcEngine"
> To: ""
> Error: Property
> rpc.engine.org.apache.hadoop.hdfs.protocolPB.ClientDatanodeProtocolPB is not
> reconfigurable.
> FAILED: Change property mapreduce.client.genericoptionsparser.used
> From: "true"
> To: ""
> Error: Property mapreduce.client.genericoptionsparser.used is not
> reconfigurable.
> FAILED: Change property rpc.engine.org.apache.hadoop.ipc.ProtocolMetaInfoPB
> From: "org.apache.hadoop.ipc.ProtobufRpcEngine"
> To: ""
> Error: Property rpc.engine.org.apache.hadoop.ipc.ProtocolMetaInfoPB
> is not reconfigurable.
> SUCCESS: Change property dfs.datanode.data.dir
> From: "file:///data/1/user/dfs"
> To: "file:///data/1/user/dfs,file:///data/2/user/dfs"
> FAILED: Change property dfs.datanode.startup
> From: "REGULAR"
> To: ""
> Error: Property dfs.datanode.startup is not reconfigurable.
> FAILED: Change property
> rpc.engine.org.apache.hadoop.hdfs.protocolPB.InterDatanodeProtocolPB
> From: "org.apache.hadoop.ipc.ProtobufRpcEngine"
> To: ""
> Error: Property
> rpc.engine.org.apache.hadoop.hdfs.protocolPB.InterDatanodeProtocolPB is not
> reconfigurable.
> FAILED: Change property
> rpc.engine.org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolPB
> From: "org.apache.hadoop.ipc.ProtobufRpcEngine"
> To: ""
> Error: Property
> rpc.engine.org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolPB is not
> reconfigurable.
> FAILED: Change property
> rpc.engine.org.apache.hadoop.tracing.TraceAdminProtocolPB
> From: "org.apache.hadoop.ipc.ProtobufRpcEngine"
> To: ""
> Error: Property
> rpc.engine.org.apache.hadoop.tracing.TraceAdminProtocolPB is not
> reconfigurable.
> {noformat}
> These failed messages are spurious and should not be shown.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)