You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by je...@apache.org on 2013/08/23 23:46:38 UTC

svn commit: r1517066 - /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/ProcedureMember.java

Author: jeffreyz
Date: Fri Aug 23 21:46:38 2013
New Revision: 1517066

URL: http://svn.apache.org/r1517066
Log:
HBASE-9324: TestProcedureMember#testMemberCommitException, testSimpleRun & testMemberCommitCommsFailure are flaky on Suse OS

Modified:
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/ProcedureMember.java

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/ProcedureMember.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/ProcedureMember.java?rev=1517066&r1=1517065&r2=1517066&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/ProcedureMember.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/ProcedureMember.java Fri Aug 23 21:46:38 2013
@@ -159,12 +159,15 @@ public class ProcedureMember implements 
     // kick off the subprocedure
     Future<Void> future = null;
     try {
-      future = this.pool.submit(subproc);
       synchronized (subprocs) {
         subprocs.put(procName, subproc);
       }
+      future = this.pool.submit(subproc);
       return true;
     } catch (RejectedExecutionException e) {
+      synchronized (subprocs) {
+        subprocs.remove(procName);
+      }
       // the thread pool is full and we can't run the subprocedure
       String msg = "Subprocedure pool is full!";
       subproc.cancel(msg, e.getCause());