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

Tsz Wo Nicholas Sze commented on HDFS-7276:
-------------------------------------------

bq. Thinking on it, the patch only limits the outstanding number of Packets if 
Packets always allocate same size buffers, right? If the objective is a limit 
on Packet count, perhaps a more direct choke on Packet allocations would be 
more effective?

The objective is to limit the memory usage.  Limiting Packet count may not be 
desirable since packets can be small.  They occupy small amount of space even 
there is a large number of them.

Ideally, we should limit the total size of all arrays.  However, it is 
unnecessary since non-full packets are usually small and not frequent.  So, we 
only limit full packets.

bq. Meantime, I like the buffer reuse that this patch brings.

Thanks.

> Limit the number of byte arrays used by DFSOutputStream
> -------------------------------------------------------
>
>                 Key: HDFS-7276
>                 URL: https://issues.apache.org/jira/browse/HDFS-7276
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs-client
>            Reporter: Tsz Wo Nicholas Sze
>            Assignee: Tsz Wo Nicholas Sze
>         Attachments: h7276_20141021.patch, h7276_20141022.patch, 
> h7276_20141023.patch, h7276_20141024.patch
>
>
> When there are a lot of DFSOutputStream's writing concurrently, the number of 
> outstanding packets could be large.  The byte arrays created by those packets 
> could occupy a lot of memory.



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

Reply via email to