[ 
https://issues.apache.org/jira/browse/HDFS-576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konstantin Shvachko updated HDFS-576:
-------------------------------------

    Attachment: NewBlockReport.patch

> 1. we should bump up DatanodeProtocol's version not ClientProtocol's.

Oops, fixed it.

> 2. The original replica of RUR may in finalized state. In this case, should 
> we add the original replica into finalized version.

Good point. I didn't think about it. Now that I did, it looks that from 
data-node viewpoint rur blocks are not finalized, 
so it should not  put them into the finalized list. But you are right this 
should be taken care of while processing the report on the name-node. 
This should go naturally, because the processing is based on the replica state 
not the list it belongs to.

> 3. Would the change be simpler if we change blockReport to take two lists: 
> finalizedReplicas and ucReplicas?

My implementation exactly follows the specs attached to this jira and on which 
we agreed upon. The spec says two logical lists packed in an array of longs. 
Besides, I don't think this makes things easier overall. The BlockListAsLongs 
will remain unchanged, but all places that use getBlockReport will have to 
handle three arrays. Also if we go your path it will be hard to send complete 
replica states as well as we will have to increase the number of arrays every 
time the number of state changes. Not mentioning that re-implementation would 
take another 3 days.

> Extend Block report to include under-construction replicas
> ----------------------------------------------------------
>
>                 Key: HDFS-576
>                 URL: https://issues.apache.org/jira/browse/HDFS-576
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: data-node, name-node
>    Affects Versions: Append Branch
>            Reporter: Konstantin Shvachko
>            Assignee: Konstantin Shvachko
>             Fix For: Append Branch
>
>         Attachments: BlockReport.htm, NewBlockReport.patch, 
> NewBlockReport.patch
>
>
> Current data-node block reports report only finalized (in append terminology) 
> blocks. Data-nodes should report all block replicas except for the temporary 
> ones so that clients could read from incomplete replicas and to make block 
> recovery possible.
> The attached design document goes into more details of the new block reports.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to