hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-7325) Prevent thundering herd problem in ByteArrayManager by using notify not notifyAll
Date Wed, 05 Nov 2014 18:22:34 GMT

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

Colin Patrick McCabe commented on HDFS-7325:
--------------------------------------------

bq. The < above should be <=. 

One tricky thing here is that the patch moves this block after the {{numAllocated--}}.  So
I believe this should be correct... 

bq. How about simply including the change in HDFS-7358 and resolving this?

OK.

> Prevent thundering herd problem in ByteArrayManager by using notify not notifyAll
> ---------------------------------------------------------------------------------
>
>                 Key: HDFS-7325
>                 URL: https://issues.apache.org/jira/browse/HDFS-7325
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.6.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HDFS-7325.001.patch
>
>
> Currently ByteArrayManager wakes all waiting threads whenever a byte array is released
and count == limit.  However, only one thread can proceed.    With a large number of waiters,
this will cause a thundering herd problem.  (See http://en.wikipedia.org/wiki/Thundering_herd_problem.)
 We should avoid this by only waking a single thread.



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

Mime
View raw message