hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dragon (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-10138) CLONE - Erasure Coding: fix one cell need two packets
Date Tue, 15 Mar 2016 08:17:35 GMT
dragon created HDFS-10138:
-----------------------------

             Summary: CLONE - Erasure Coding: fix one cell need two packets
                 Key: HDFS-10138
                 URL: https://issues.apache.org/jira/browse/HDFS-10138
             Project: Hadoop HDFS
          Issue Type: Sub-task
            Reporter: dragon
            Assignee: Walter Su
             Fix For: HDFS-7285


The default WritePacketSize is 64k
Currently default cellSize is 64k

We hope one cell consumes one packet. In fact it's not.

By default,
chunkSize = 516( 512 data + 4 checksum)
packetSize = 64k
chunksPerPacket = 126 ( See DFSOutputStream#computePacketChunkSize for details)
numBytes of data in one packet = 64512
cellSize = 65536

When first packet is full ( with 64512 data), there are still 65536 - 64512 = 1024 bytes left.
{code}
        super.writeChunk(bytes, offset, len, checksum, ckoff, cklen);

        // cell is full and current packet has not been enqueued,
        if (cellFull && currentPacket != null) {
          enqueueCurrentPacketFull();
        }   
{code}
When  the last 1024 bytes of the cell was written, we meet {{cellFull}} and create another
packet.



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

Mime
View raw message