[ 
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)

Reply via email to