[ https://issues.apache.org/jira/browse/HDFS-7325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14198900#comment-14198900 ]
Tsz Wo Nicholas Sze commented on HDFS-7325: ------------------------------------------- > One tricky thing here is that the patch moves this block after the > numAllocated--. ... Ah, you are correct. We actually do not need the "if" since "numAllocated < maxAllocated" is always true. > 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)