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