[ 
https://issues.apache.org/jira/browse/HDFS-7955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15121287#comment-15121287
 ] 

Rakesh R commented on HDFS-7955:
--------------------------------

Thanks [~drankye] for the interest and comments.

With this jira, the idea is to re-visit the whole block recovery logic - both 
EC recovery and re-replication part. Both these are rebuilding/repairing a lost 
block and have suggested to use the word reconstruction in that sense. But I 
could see changing the entire block recovery will not be backward compatible as 
it involves renaming the protocol layer entities. Also, I feel we could still 
keep the word like striped to differentiate with the contiguous block.  
Probably we need to discuss more and get the opinion from others as well.

{code}
Non-compatible changes like,

DatanodeProtocol.proto {
    //...
    BlockRecoveryCommand = 2;
    BlockECRecoveryCommand = 9;
    //...
}
                
InterDatanodeProtocol.proto {
    //...
    //...

    /**
     * Initialize recovery of a replica
     */
     rpc initReplicaRecovery(InitReplicaRecoveryRequestProto)
         returns(InitReplicaRecoveryResponseProto);

    //...
    //...
}
{code}

> Improve naming of classes, methods, and variables related to block 
> replication and recovery
> -------------------------------------------------------------------------------------------
>
>                 Key: HDFS-7955
>                 URL: https://issues.apache.org/jira/browse/HDFS-7955
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: erasure-coding
>            Reporter: Zhe Zhang
>            Assignee: Rakesh R
>         Attachments: HDFS-7955-001.patch, HDFS-7955-002.patch, 
> HDFS-7955-003.patch
>
>
> Many existing names should be revised to avoid confusion when blocks can be 
> both replicated and erasure coded. This JIRA aims to solicit opinions on 
> making those names more consistent and intuitive.
> # In current HDFS _block recovery_ refers to the process of finalizing the 
> last block of a file, triggered by _lease recovery_. It is different from the 
> intuitive meaning of _recovering a lost block_. To avoid confusion, I can 
> think of 2 options:
> #* Rename this process as _block finalization_ or _block completion_. I 
> prefer this option because this is literally not a recovery.
> #* If we want to keep existing terms unchanged we can name all EC recovery 
> and re-replication logics as _reconstruction_.  
> # As Kai [suggested | 
> https://issues.apache.org/jira/browse/HDFS-7369?focusedCommentId=14361131&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14361131]
>  under HDFS-7369, several replication-based names should be made more generic:
> #* {{UnderReplicatedBlocks}} and {{neededReplications}}. E.g. we can use 
> {{LowRedundancyBlocks}}/{{AtRiskBlocks}}, and 
> {{neededRecovery}}/{{neededReconstruction}}.
> #* {{PendingReplicationBlocks}}
> #* {{ReplicationMonitor}}
> I'm sure the above list is incomplete; discussions and comments are very 
> welcome.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to