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(); }