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

Jing Zhao commented on HDFS-7864:
---------------------------------

Hi Rui, I think you're on the correct the track. Some comments on the latest 
patch:
# {{BlockIdManager.isStripedBlockID}} returning true does not necessarily mean 
the block is a striped block. This is because before hadoop 2.1 we randomly 
assign IDs to blocks (check more details in the discussion of HDFS-7339).
# Instead of adding a new {{incrementSafeStripedBlockCount}}, how about adding 
the logic into the current {{incrementSafeBlockCount}}? We may need to update 
its function signature though. In this way we can also avoid the above 
{{isStripedBlockID}} check.
# In {{incrementSafeStripedBlockCount}}, instead of using 
{{BlockInfoStriped#getTotalBlockNum}}, we should call {{numNodes}} to get the 
current replica number. The former returns the expected number of blocks.
# The following change looks wrong to me. This means we complete a striped 
block without checking its min storage number.
{code}
-        checkMinStorage(storedBlock, numLiveReplicas)) {
+        ( checkMinStorage(storedBlock, numLiveReplicas) || 
isReportedBlockStripedBlock)
+      )
+    {
{code}
# Minor: several places need to be updated to follow the coding style/format

> Erasure Coding: Update safemode calculation for striped blocks
> --------------------------------------------------------------
>
>                 Key: HDFS-7864
>                 URL: https://issues.apache.org/jira/browse/HDFS-7864
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Jing Zhao
>            Assignee: GAO Rui
>         Attachments: HDFS-7864.1.patch
>
>
> We need to update the safemode calculation for striped blocks. Specifically, 
> each striped block now consists of multiple data/parity blocks stored in 
> corresponding DataNodes. The current code's calculation is thus inconsistent: 
> each striped block is only counted as 1 expected block, while each of its 
> member block may increase the number of received blocks by 1.



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

Reply via email to