Repository: hbase
Updated Branches:
  refs/heads/branch-1 0c97649b6 -> 0b83f2920


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/0b83f292
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0b83f292
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0b83f292

Branch: refs/heads/branch-1
Commit: 0b83f2920da991f0055d622c010737202d09a190
Parents: 0c97649
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:17:11 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/0b83f292/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/0b83f292/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