[
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)