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