Thanks a lot for the great suggestions, Andrew Wang.
Also, any reason we quash on the client-side instead of the server-side?
The original thoughts were that if user intent to use this command for other purpose, other than hot swapping today, which is the only property that is supported to reconfig, we'd like let user know. In the updated patch, these "not reconfigurable" errors are ignored from ReconfigreBase.
Also, I added a dfsadmin -reconfig listAllowed command to get a whitelist of properties that are supported.
The other thing I don't understand is why these few unset keys spit out errors, while all the other unset keys do not.
DataNode's Configuration object is actually HdfsConfiguration, which sets a few default values for certain keys. But the reconfiguration framework used here just set the missing keys with empty / None values. Thus there are differences.
Would you mind give another review? Thanks much.