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

stack commented on HDFS-7276:
-----------------------------

I was thinking it was because 20480 * 130, my packet size, was too big but this 
is 24G heap.  Setting the size down to 10k, it still hangs when it runs up to 
10k -- see below -- even if I set the reset down to 10 seconds again.  To 
check, I disabled this feature and it ran to completion.  Let me know if I can 
help debug.

{code}
2014-11-04 15:12:42,468 DEBUG [sync.0] util.ByteArrayManager: allocate(65565): 
count=55559, aboveThreshold, [131072: 9999/10000, free=1], recycled? true
2014-11-04 15:12:42,468 DEBUG [ResponseProcessor for block 
BP-410607956-10.20.84.26-1391491814882:blk_1075488661_1099513376778] 
util.ByteArrayManager: recycle: array.length=131072, [131072: 10000/10000, 
free=0], notifyAll, freeQueue.offer, freeQueueSize=1
                                                                                
                                                                                
                          101143,1      99%
2014-11-04 15:12:42,468 DEBUG [sync.0] util.ByteArrayManager: allocate(65565): 
count=55559, aboveThreshold, [131072: 9999/10000, free=1], recycled? true
2014-11-04 15:12:42,468 DEBUG [ResponseProcessor for block 
BP-410607956-10.20.84.26-1391491814882:blk_1075488661_1099513376778] 
util.ByteArrayManager: recycle: array.length=131072, [131072: 10000/10000, 
free=0], notifyAll, freeQueue.offer, freeQueueSize=1
2014-11-04 15:12:42,468 DEBUG [sync.1] util.ByteArrayManager: allocate(65565): 
count=55560, aboveThreshold, [131072: 9999/10000, free=1], recycled? true
2014-11-04 15:12:42,469 DEBUG [sync.2] util.ByteArrayManager: allocate(65565): 
count=55561, aboveThreshold, [131072: 10000/10000, free=0]: wait ...
2014-11-04 15:12:42,469 DEBUG [ResponseProcessor for block 
BP-410607956-10.20.84.26-1391491814882:blk_1075488661_1099513376778] 
util.ByteArrayManager: recycle: array.length=131072, [131072: 10000/10000, 
free=0], notifyAll, freeQueue.offer, freeQueueSize=1
2014-11-04 15:12:42,469 DEBUG [sync.2] util.ByteArrayManager: wake up: [131072: 
9999/10000, free=1], recycled? true
2014-11-04 15:12:42,469 DEBUG [sync.3] util.ByteArrayManager: allocate(65565): 
count=55562, aboveThreshold, [131072: 10000/10000, free=0]: wait ...
2014-11-04 15:12:42,469 DEBUG [ResponseProcessor for block 
BP-410607956-10.20.84.26-1391491814882:blk_1075488661_1099513376778] 
util.ByteArrayManager: recycle: array.length=131072, [131072: 10000/10000, 
free=0], notifyAll, freeQueue.offer, freeQueueSize=1
2014-11-04 15:12:42,469 DEBUG [sync.3] util.ByteArrayManager: wake up: [131072: 
9999/10000, free=1], recycled? true
2014-11-04 15:12:42,469 DEBUG [sync.4] util.ByteArrayManager: allocate(65565): 
count=55563, aboveThreshold, [131072: 10000/10000, free=0]: wait ...
2014-11-04 15:12:42,470 DEBUG [ResponseProcessor for block 
BP-410607956-10.20.84.26-1391491814882:blk_1075488661_1099513376778] 
util.ByteArrayManager: recycle: array.length=131072, [131072: 10000/10000, 
free=0], notifyAll, freeQueue.offer, freeQueueSize=1
2014-11-04 15:12:42,470 DEBUG [sync.4] util.ByteArrayManager: wake up: [131072: 
9999/10000, free=1], recycled? true
2014-11-04 15:12:42,470 DEBUG [sync.0] util.ByteArrayManager: allocate(65565): 
count=55564, aboveThreshold, [131072: 10000/10000, free=0]: wait ...
...
{code}

> 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
>             Fix For: 2.6.0
>
>         Attachments: h7276_20141021.patch, h7276_20141022.patch, 
> h7276_20141023.patch, h7276_20141024.patch, h7276_20141027.patch, 
> h7276_20141027b.patch, h7276_20141028.patch, h7276_20141029.patch, 
> h7276_20141029b.patch, h7276_20141030.patch, h7276_20141031.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