Jing Zhao created HDFS-5192: ------------------------------- Summary: NameNode may fail to start when dfs.client.test.drop.namenode.response.number is set Key: HDFS-5192 URL: https://issues.apache.org/jira/browse/HDFS-5192 Project: Hadoop HDFS Issue Type: Bug Affects Versions: 3.0.0 Reporter: Jing Zhao Assignee: Jing Zhao Priority: Minor Attachments: HDFS-5192.001.patch
In HDFS-5118 we add a new configuration property "dfs.client.test.drop.namenode.response.number" for DFSClient, which controls if DFSClient drops RPC responses for testing purpose. Currently this property can only be set in the configuration of the client side (with HA configuration). If Namenode's configuration sets this property with a positive value, an IllegalStateException may be thrown (e.g., when starting the trash emptier thread in NN). This is because NN will overwrite the configuration properties such as fs.defaultFS, when the trash emptier thread is started and tries to create a DistributedFileSystem instance, it will find that 1) the drop response property is set with a positive number, and 2) the given namenode URI is not a logical name (overwritten by NN before). A simple fix is to check if we can get a LossyRetryInvocationHandler based proxy in the constructor of DFSClient. If not, instead of throwing an exception, we can fall back to the original DFSClient creation process. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira