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

Walter Su commented on HDFS-8033:
---------------------------------

1.
When I run testcase,
{code}
int cellRet = readBuffer(blockReaders[idxInStripe],
                currentNodes[idxInStripe], strategy, off + result,
                realLenInCell);
{code}
cellRet == 4096 always. It is what you expected? If so, the testcase is not 
good enough.

2.
{code}
final int blkIdxInGroup = (int) (startInBlk / cellSize % dataBlkNum);
...
int idxInStripe = (int) ((pos / cellSize) % dataBlkNum);
{code}
How about we call all the the horizonal indexes "idxInGroup"?

3.
{code}
    LocatedBlock block = getBlockGroupAt(blockStartOffset);
    LocatedStripedBlock blockGroup = getBlockGroupAt(block.getStartOffset());
{code}
are the two lines dulplicated?

4. fatal:
{code}
    // Read from one blockReader up to cell boundary
    int cellRet = readBuffer(blockReaders[idxInStripe],
        currentNodes[idxInStripe], strategy, off + result,
        realLenInCell);
{code}
It doesn't work for read(bytebuffer buf).
{{ByteBufferStrategy.doRead()}} ignores {{len}} argument. It always read 
byteBuffer.remaining, untils EOF of the current block.

> Erasure coding: stateful (non-positional) read from files in striped layout
> ---------------------------------------------------------------------------
>
>                 Key: HDFS-8033
>                 URL: https://issues.apache.org/jira/browse/HDFS-8033
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Zhe Zhang
>            Assignee: Zhe Zhang
>         Attachments: HDFS-8033.000.patch, HDFS-8033.001.patch, 
> HDFS-8033.002.patch, HDFS-8033.003.patch
>
>




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

Reply via email to