Repository: hbase
Updated Branches:
  refs/heads/master f2a40fc05 -> c6ddc0336


HBASE-11488 cancelTasks in SubprocedurePool can hang during task error (Jerry 
He)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c6ddc033
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c6ddc033
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c6ddc033

Branch: refs/heads/master
Commit: c6ddc0336e1fe8c2ebe89db81fe7c8549de7d597
Parents: f2a40fc
Author: Enis Soztutar <e...@apache.org>
Authored: Fri Jul 11 14:16:27 2014 -0700
Committer: Enis Soztutar <e...@apache.org>
Committed: Fri Jul 11 14:16:27 2014 -0700

----------------------------------------------------------------------
 .../flush/RegionServerFlushTableProcedureManager.java         | 7 ++-----
 .../regionserver/snapshot/RegionServerSnapshotManager.java    | 7 ++-----
 2 files changed, 4 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/c6ddc033/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.java
index 9f0f674..36db831 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.java
@@ -282,11 +282,8 @@ public class RegionServerFlushTableProcedureManager 
extends RegionServerProcedur
       }
 
       // evict remaining tasks and futures from taskPool.
-      while (!futures.isEmpty()) {
-        // block to remove cancelled futures;
-        LOG.warn("Removing cancelled elements from taskPool");
-        futures.remove(taskPool.take());
-      }
+      futures.clear();
+      while (taskPool.poll() != null) {}
       stop();
     }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/c6ddc033/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
index 4e2c6c2..a4fccc6 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
@@ -360,11 +360,8 @@ public class RegionServerSnapshotManager extends 
RegionServerProcedureManager {
       }
 
       // evict remaining tasks and futures from taskPool.
-      while (!futures.isEmpty()) {
-        // block to remove cancelled futures;
-        LOG.warn("Removing cancelled elements from taskPool");
-        futures.remove(taskPool.take());
-      }
+      futures.clear();
+      while (taskPool.poll() != null) {}
       stop();
     }
 

Reply via email to