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