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

Walter Su commented on HDFS-8744:
---------------------------------

Actually DFSStripedOutputStream#generatePackets(Bytebuffer byteBuffer, byte[] 
checksumBuf) has more severe problem.
The packet newly created, always has only one chunk.

For example:
Assume byteBuffer has 64k parity data.
generatePackets(..) creates 2 packets.
packet_0 has 504 checksum + 64512 data
packet_1 has 8 checksum + 1024 data

I believe it's the original design is for dealing with 256k cell size. But is 
it ok that "one packet one chunk"? 

In this case, what's the meaning of adding {{p.incNumChunks(chunks)}} in the 
patch? {{chunks}} is a fake number.

> Erasure Coding: the number of chunks in packet is not updated when writing 
> parity data
> --------------------------------------------------------------------------------------
>
>                 Key: HDFS-8744
>                 URL: https://issues.apache.org/jira/browse/HDFS-8744
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Li Bo
>            Assignee: Li Bo
>         Attachments: HDFS-8744-HDFS-7285-001.patch, 
> HDFS-8744-HDFS-7285-002.patch
>
>
> The member {{numChunks}} in {{DFSPacket}} is always zero if this packet 
> contains parity data. The calling of {{getNumChunks}} may  cause potential 
> errors.



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

Reply via email to