[2/2] hbase git commit: HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope)
HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/dba43b62 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/dba43b62 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/dba43b62 Branch: refs/heads/0.98 Commit: dba43b62823cbaa663cf0c2f7b7e4dcd668bdbce Parents: 500e0b7 Author: tedyuAuthored: Sun Oct 16 18:54:59 2016 -0700 Committer: Andrew Purtell Committed: Fri Nov 11 18:21:22 2016 -0800 -- .../hadoop/hbase/master/ServerManager.java | 2 +- .../hbase/zookeeper/DrainingServerTracker.java | 18 .../hbase/master/TestAssignmentListener.java| 101 ++- 3 files changed, 119 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/dba43b62/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index ca34de5..3c0696a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -475,7 +475,6 @@ public class ServerManager { } } - public DeadServer getDeadServers() { return this.deadservers; } @@ -659,6 +658,7 @@ public class ServerManager { "Ignoring request to add it again."); return false; } +LOG.info("Server " + sn + " added to draining server list."); return this.drainingServers.add(sn); } http://git-wip-us.apache.org/repos/asf/hbase/blob/dba43b62/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java index 5969143..413f226 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java @@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.master.ServerListener; import org.apache.hadoop.hbase.master.ServerManager; import org.apache.zookeeper.KeeperException; @@ -68,6 +69,23 @@ public class DrainingServerTracker extends ZooKeeperListener { */ public void start() throws KeeperException, IOException { watcher.registerListener(this); +// Add a ServerListener to check if a server is draining when it's added. +serverManager.registerListener( +new ServerListener() { + + @Override + public void serverAdded(ServerName sn) { +if (drainingServers.contains(sn)){ + serverManager.addServerToDrainList(sn); +} + } + + @Override + public void serverRemoved(ServerName serverName) { +// no-op + } +} +); List servers = ZKUtil.listChildrenAndWatchThem(watcher, watcher.drainingZNode); add(servers); http://git-wip-us.apache.org/repos/asf/hbase/blob/dba43b62/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java index 36a8265..bc2a3a6 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java @@ -21,16 +21,22 @@ package org.apache.hadoop.hbase.master; import static org.junit.Assert.assertEquals; import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionInfo;
[21/50] [abbrv] hbase git commit: HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope)
HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a4cbdede Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a4cbdede Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a4cbdede Branch: refs/heads/branch-1 Commit: a4cbdede31f97bb988daf944f603f9f25b368044 Parents: b7f283c Author: tedyuAuthored: Sun Oct 16 18:54:59 2016 -0700 Committer: tedyu Committed: Sun Oct 16 18:54:59 2016 -0700 -- .../hadoop/hbase/master/ServerManager.java | 2 +- .../hbase/zookeeper/DrainingServerTracker.java | 18 .../hbase/master/TestAssignmentListener.java| 100 +++ 3 files changed, 119 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/a4cbdede/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index bcaa4d0..1817d6e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -533,7 +533,6 @@ public class ServerManager { } } - public DeadServer getDeadServers() { return this.deadservers; } @@ -744,6 +743,7 @@ public class ServerManager { "Ignoring request to add it again."); return false; } +LOG.info("Server " + sn + " added to draining server list."); return this.drainingServers.add(sn); } http://git-wip-us.apache.org/repos/asf/hbase/blob/a4cbdede/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java index 5969143..413f226 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java @@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.master.ServerListener; import org.apache.hadoop.hbase.master.ServerManager; import org.apache.zookeeper.KeeperException; @@ -68,6 +69,23 @@ public class DrainingServerTracker extends ZooKeeperListener { */ public void start() throws KeeperException, IOException { watcher.registerListener(this); +// Add a ServerListener to check if a server is draining when it's added. +serverManager.registerListener( +new ServerListener() { + + @Override + public void serverAdded(ServerName sn) { +if (drainingServers.contains(sn)){ + serverManager.addServerToDrainList(sn); +} + } + + @Override + public void serverRemoved(ServerName serverName) { +// no-op + } +} +); List servers = ZKUtil.listChildrenAndWatchThem(watcher, watcher.drainingZNode); add(servers); http://git-wip-us.apache.org/repos/asf/hbase/blob/a4cbdede/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java index 6257fe5..f171821 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java @@ -21,16 +21,22 @@ package org.apache.hadoop.hbase.master; import static org.junit.Assert.assertEquals; import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionInfo; import
hbase git commit: HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope)
Repository: hbase Updated Branches: refs/heads/master 0f384158f -> 109db38b6 HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/109db38b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/109db38b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/109db38b Branch: refs/heads/master Commit: 109db38b6ad091b23593ee46b1e919136aed7886 Parents: 0f38415 Author: tedyuAuthored: Sun Oct 16 19:59:38 2016 -0700 Committer: tedyu Committed: Sun Oct 16 19:59:38 2016 -0700 -- .../hadoop/hbase/master/ServerManager.java | 2 +- .../hbase/zookeeper/DrainingServerTracker.java | 18 .../hbase/master/TestAssignmentListener.java| 105 ++- 3 files changed, 121 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/109db38b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index 8dbf697..437c787 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -524,7 +524,6 @@ public class ServerManager { } } - public DeadServer getDeadServers() { return this.deadservers; } @@ -734,6 +733,7 @@ public class ServerManager { "Ignoring request to add it again."); return false; } +LOG.info("Server " + sn + " added to draining server list."); return this.drainingServers.add(sn); } http://git-wip-us.apache.org/repos/asf/hbase/blob/109db38b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java index 684fdec..e6d3b7f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java @@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.master.ServerListener; import org.apache.hadoop.hbase.master.ServerManager; import org.apache.zookeeper.KeeperException; @@ -68,6 +69,23 @@ public class DrainingServerTracker extends ZooKeeperListener { */ public void start() throws KeeperException, IOException { watcher.registerListener(this); +// Add a ServerListener to check if a server is draining when it's added. +serverManager.registerListener( +new ServerListener() { + + @Override + public void serverAdded(ServerName sn) { +if (drainingServers.contains(sn)){ + serverManager.addServerToDrainList(sn); +} + } + + @Override + public void serverRemoved(ServerName serverName) { +// no-op + } +} +); List servers = ZKUtil.listChildrenAndWatchThem(watcher, watcher.znodePaths.drainingZNode); add(servers); http://git-wip-us.apache.org/repos/asf/hbase/blob/109db38b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java index 6ad2c5d..9a52c70 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java @@ -21,29 +21,41 @@ package org.apache.hadoop.hbase.master; import static org.junit.Assert.assertEquals; import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.HBaseTestingUtility; +import
hbase git commit: HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope)
Repository: hbase Updated Branches: refs/heads/branch-1 b7f283c6f -> a4cbdede3 HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a4cbdede Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a4cbdede Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a4cbdede Branch: refs/heads/branch-1 Commit: a4cbdede31f97bb988daf944f603f9f25b368044 Parents: b7f283c Author: tedyuAuthored: Sun Oct 16 18:54:59 2016 -0700 Committer: tedyu Committed: Sun Oct 16 18:54:59 2016 -0700 -- .../hadoop/hbase/master/ServerManager.java | 2 +- .../hbase/zookeeper/DrainingServerTracker.java | 18 .../hbase/master/TestAssignmentListener.java| 100 +++ 3 files changed, 119 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/a4cbdede/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index bcaa4d0..1817d6e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -533,7 +533,6 @@ public class ServerManager { } } - public DeadServer getDeadServers() { return this.deadservers; } @@ -744,6 +743,7 @@ public class ServerManager { "Ignoring request to add it again."); return false; } +LOG.info("Server " + sn + " added to draining server list."); return this.drainingServers.add(sn); } http://git-wip-us.apache.org/repos/asf/hbase/blob/a4cbdede/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java index 5969143..413f226 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java @@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.master.ServerListener; import org.apache.hadoop.hbase.master.ServerManager; import org.apache.zookeeper.KeeperException; @@ -68,6 +69,23 @@ public class DrainingServerTracker extends ZooKeeperListener { */ public void start() throws KeeperException, IOException { watcher.registerListener(this); +// Add a ServerListener to check if a server is draining when it's added. +serverManager.registerListener( +new ServerListener() { + + @Override + public void serverAdded(ServerName sn) { +if (drainingServers.contains(sn)){ + serverManager.addServerToDrainList(sn); +} + } + + @Override + public void serverRemoved(ServerName serverName) { +// no-op + } +} +); List servers = ZKUtil.listChildrenAndWatchThem(watcher, watcher.drainingZNode); add(servers); http://git-wip-us.apache.org/repos/asf/hbase/blob/a4cbdede/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java index 6257fe5..f171821 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java @@ -21,16 +21,22 @@ package org.apache.hadoop.hbase.master; import static org.junit.Assert.assertEquals; import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.HBaseTestingUtility; +import
hbase git commit: HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope)
Repository: hbase Updated Branches: refs/heads/branch-1.3 e834d46e3 -> d38310aa4 HBASE-16853 Regions are assigned to Region Servers in /hbase/draining after HBase Master failover (David Pope) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d38310aa Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d38310aa Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d38310aa Branch: refs/heads/branch-1.3 Commit: d38310aa4d97c0be0e2d1f5113630510a02f7ade Parents: e834d46 Author: tedyuAuthored: Sun Oct 16 18:52:41 2016 -0700 Committer: tedyu Committed: Sun Oct 16 18:52:41 2016 -0700 -- .../hadoop/hbase/master/ServerManager.java | 2 +- .../hbase/zookeeper/DrainingServerTracker.java | 18 .../hbase/master/TestAssignmentListener.java| 100 +++ 3 files changed, 119 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/d38310aa/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index 305687f..df1cea0 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -527,7 +527,6 @@ public class ServerManager { } } - public DeadServer getDeadServers() { return this.deadservers; } @@ -738,6 +737,7 @@ public class ServerManager { "Ignoring request to add it again."); return false; } +LOG.info("Server " + sn + " added to draining server list."); return this.drainingServers.add(sn); } http://git-wip-us.apache.org/repos/asf/hbase/blob/d38310aa/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java index 5969143..413f226 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java @@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.master.ServerListener; import org.apache.hadoop.hbase.master.ServerManager; import org.apache.zookeeper.KeeperException; @@ -68,6 +69,23 @@ public class DrainingServerTracker extends ZooKeeperListener { */ public void start() throws KeeperException, IOException { watcher.registerListener(this); +// Add a ServerListener to check if a server is draining when it's added. +serverManager.registerListener( +new ServerListener() { + + @Override + public void serverAdded(ServerName sn) { +if (drainingServers.contains(sn)){ + serverManager.addServerToDrainList(sn); +} + } + + @Override + public void serverRemoved(ServerName serverName) { +// no-op + } +} +); List servers = ZKUtil.listChildrenAndWatchThem(watcher, watcher.drainingZNode); add(servers); http://git-wip-us.apache.org/repos/asf/hbase/blob/d38310aa/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java index 6257fe5..f171821 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java @@ -21,16 +21,22 @@ package org.apache.hadoop.hbase.master; import static org.junit.Assert.assertEquals; import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.HBaseTestingUtility; +import