[jira] [Commented] (HDFS-7325) Prevent thundering herd problem in ByteArrayManager by using notify not notifyAll

2014-11-05 Thread Colin Patrick McCabe (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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)


[jira] [Commented] (HDFS-7325) Prevent thundering herd problem in ByteArrayManager by using notify not notifyAll

2014-11-05 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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)


[jira] [Commented] (HDFS-7325) Prevent thundering herd problem in ByteArrayManager by using notify not notifyAll

2014-11-04 Thread Tsz Wo Nicholas Sze (JIRA)

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

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

Thanks for the advise about the thundering herd problem.
{code}
+  if (numAllocated  maxAllocated) {
+notify();
+  }
{code}
The  above should be =.  When numAllocated == maxAllocated, we definitely 
should call notify().  How about simply including the change in HDFS-7358 and 
resolving this?

 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)


[jira] [Commented] (HDFS-7325) Prevent thundering herd problem in ByteArrayManager by using notify not notifyAll

2014-11-03 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HDFS-7325:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12678981/HDFS-7325.001.patch
  against trunk revision 67f13b5.

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
Please justify why no new tests are needed for this 
patch.
Also please list what manual steps were performed to 
verify this patch.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  There were no new javadoc warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 core tests{color}.  The following test timeouts occurred in 
hadoop-hdfs-project/hadoop-hdfs:

org.apache.hadoop.fs.TestEnhancedByteBufferAccess

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8626//testReport/
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8626//console

This message is automatically generated.

 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)