[ https://issues.apache.org/jira/browse/HDFS-9173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Walter Su updated HDFS-9173: ---------------------------- Attachment: HDFS-9173.03.patch bq. can we just sort all replica lengths and take the 6th shortest one? Done. bq. Another way is to add a new method in InterDatanodeProtocol for getting the replica information. I tried before, to add a new method {{InterDatanodeProtocol.getReplicaRecoveryInfo(RecoveringBlock)}}. But 1. I don't need to get all rInfo from all DNs. As long as one DN returns {{RecoveryInProgressException}}. I abort the recovery task. So I don't need a {{get}} method, I need a {{check}} method. 2. Most logic of {{FsDatasetImpl.initReplicaRecovery(..)}} is for checking. The new method is redundant. 3. If I add a new method, I also need to add 2 protos, similar to {{InitReplicaRecoveryRequestProto}} and {{InitReplicaRecoveryResponseProto}}. bq. Besides the changes on initReplicaRecovery, other changes in InterDatanodeProtocol is unnecessary. Reverted in 03 patch. However, I think the modifier "public static final" is useless in {{interface}}. bq. Thus the storage information reported back to NN in commitBlockSynchronization should be based on the result of updateReplicaUnderRecovery. Done. bq. the changes on RecoveringBlock's constructor methods seem unnecessary. It's for step 3. It's reverted in 03 patch. bq. Maybe more unit tests on the getSafeLength method. Done. > Erasure Coding: Lease recovery for striped file > ----------------------------------------------- > > Key: HDFS-9173 > URL: https://issues.apache.org/jira/browse/HDFS-9173 > Project: Hadoop HDFS > Issue Type: Sub-task > Reporter: Walter Su > Assignee: Walter Su > Attachments: HDFS-9173.00.wip.patch, HDFS-9173.01.patch, > HDFS-9173.02.step125.patch, HDFS-9173.03.patch > > -- This message was sent by Atlassian JIRA (v6.3.4#6332)