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

Jing Zhao commented on HDFS-8320:
---------------------------------

Thanks for working on this, Zhe! The patch looks pretty good to me. just some 
minor comments:
# Considering we will remove cellSize out of the ECSchema, we can consider 
adding a separate cellSize parameter to {{divideByteRangeIntoStripes}}.
# Need to fix several field references for StripedBlockUtil's javadoc. More 
specifically, we need to add a "#" before the field name (e.g., {@link
  #idxInBlkGroup}).
# {{StripingCell}}'s methods and fields do not need to be public.
# Not related to this jira, but can we use enum instead of constant numbers of 
StripeChunk and StripingChunkReadResult's state?
# It will be useful to indicate whether the start/end offset parameter is 
inclusive or exclusive in each function's javadoc.
# In {{blockSeekTo}}, since we only need to get each internal block's start 
offset, to call {{getRangesForInternalBlocks}} which breaks the whole block 
group into cells may be an overkill. We can write a simple function to do this 
(the original planReadPortions's first part).
# Looks like HADOOP-11938 will be ready soon. Please see if you want to update 
the decoding function accordingly in this jira.



> Erasure coding: consolidate striping-related terminologies
> ----------------------------------------------------------
>
>                 Key: HDFS-8320
>                 URL: https://issues.apache.org/jira/browse/HDFS-8320
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Zhe Zhang
>            Assignee: Zhe Zhang
>         Attachments: HDFS-8320-HDFS-7285.00.patch
>
>
> Right now we are doing striping-based I/O in a number of places:
> # Client output stream (HDFS-7889)
> # Client input stream
> #* pread (HDFS-7782, HDFS-7678)
> #* stateful read (HDFS-8033, HDFS-8281, HDFS-8319)
> # DN reconstruction (HDFS-7348)
> In each place we use one or multiple of the following terminologies:
> # Cell
> # Stripe
> # Block group
> # Internal block
> # Chunk
> This JIRA aims to systematically define these terminologies in relation with 
> each other and in the context of the containing file. For example, a cell 
> belong to stripe _i_ and internal block _j_ can be indexed as {{(i, j)}} and 
> its logical index _k_ in the file can be calculated.
> With the above consolidation, hopefully we can further consolidate striping 
> I/O codes.



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

Reply via email to