[ https://issues.apache.org/jira/browse/HDFS-7864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14348258#comment-14348258 ]
GAO Rui commented on HDFS-7864: ------------------------------- [~jingzhao]] {quote} 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. {quote} In above description, it looks like that DataNode will send information of both StripedBlock and it's member blocks in re. I have checked BlockManager.java, BlockInfoStriped.java and other related source codes. In BlockReport, DataNode send StorageBlockReport[ ] to NameNode. StorageBlockReport[ ] contains Maps of <DataNodeStrotage, long[ ]> , this long[ ] array contains block Id (or StripedBlock id) which are stored in DataNodeStrotage. The method getStoredBlock(Block block) in class BlockManager.java can deal with StripedBlock. I am not sure wether DataNode will send information of the StripedBlock's member blocks as well as the StripedBlock. And, how can a DataNode send a report about a StripedBlock while only one of its member blocks could be stored in this DataNode? This question is based on the my image of EC logical process below: For example, a file (name:F, size: FS) is going to be stored in to HDFS with EC(striping and ReedSolomon (6,3) schema). If FS=128*6MB, F is truncated into 1024*6 slices(name: s1,s2,……s1024*6; each size is 128kb) . So at last, F is stored in 6 date blocks (name: b1,b2…..b6) with 3 parity blocks(name: pb1,pb2,pb3). And, b1 is consist of s1,s7,s13……. ; b2 is consist of s2,s8,s14………. So, in FSImage of HDFS, file F is a INodeFile with one BlockGroup, and this BlockGroup is consist of b1,b2,b3,b4,b5,b6,pb1,pb2,pb3. Did I get the correct image of EC logical process? Please let me know if I have any misunderstanding. > 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 > > 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)