[hbase-site] 02/02: INFRA-10751 Empty commit

2019-01-19 Thread busbey
This is an automated email from the ASF dual-hosted git repository.

busbey pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git

commit 5f5582db175b0b20c4cdcaa1c5f1a2efc147d220
Author: Sean Busbey 
AuthorDate: Sat Jan 19 19:50:56 2019 -0600

INFRA-10751 Empty commit



[hbase] branch branch-2.1 updated: HBASE-21746 Fix two concern cases in RegionMover

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
 new 8615258  HBASE-21746 Fix two concern cases in RegionMover
8615258 is described below

commit 8615258d069422855da27fd736e19505e28d93d1
Author: zhangduo 
AuthorDate: Sun Jan 20 08:56:45 2019 +0800

HBASE-21746 Fix two concern cases in RegionMover

Signed-off-by: Guanghao Zhang 
---
 .../org/apache/hadoop/hbase/util/RegionMover.java  |  30 +--
 .../apache/hadoop/hbase/util/TestRegionMover.java  | 235 ++---
 2 files changed, 132 insertions(+), 133 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
index 24c8fc3..70a4f0e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
@@ -45,13 +45,12 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.function.Predicate;
-
 import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.ClusterMetrics.Option;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.HRegionLocation;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.client.Connection;
@@ -667,18 +666,15 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
* @return server removed from list of Region Servers
*/
   private ServerName stripServer(List regionServers, String 
hostname, int port) {
-ServerName server = null;
-String portString = Integer.toString(port);
-Iterator i = regionServers.iterator();
-while (i.hasNext()) {
-  server = i.next();
-  String[] splitServer = 
server.getServerName().split(ServerName.SERVERNAME_SEPARATOR);
-  if (splitServer[0].equalsIgnoreCase(hostname) && 
splitServer[1].equals(portString)) {
-i.remove();
+for (Iterator iter = regionServers.iterator(); 
iter.hasNext();) {
+  ServerName server = iter.next();
+  if (server.getAddress().getHostname().equalsIgnoreCase(hostname) &&
+server.getAddress().getPort() == port) {
+iter.remove();
 return server;
   }
 }
-return server;
+return null;
   }
 
   /**
@@ -719,7 +715,13 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
 if (!admin.isTableEnabled(region.getTable())) {
   return null;
 }
-return MetaTableAccessor.getRegionLocation(conn, region).getServerName();
+HRegionLocation loc =
+  
conn.getRegionLocator(region.getTable()).getRegionLocation(region.getStartKey(),
 true);
+if (loc != null) {
+  return loc.getServerName();
+} else {
+  return null;
+}
   }
 
   @Override
@@ -782,6 +784,8 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
   }
 
   public static void main(String[] args) {
-new RegionMover().doStaticMain(args);
+try (RegionMover mover = new RegionMover()) {
+  mover.doStaticMain(args);
+}
   }
 }
\ No newline at end of file
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
index dd92b95..670248d 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
@@ -18,21 +18,25 @@
 package org.apache.hadoop.hbase.util;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
 import java.io.File;
 import java.io.FileWriter;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.MiniHBaseCluster;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.Waiter.Predicate;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
+import org.apache.hadoop.hbase.client.TableDescriptor;
+import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.te

[hbase] branch branch-2.0 updated: HBASE-21746 Fix two concern cases in RegionMover

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
 new 389360a  HBASE-21746 Fix two concern cases in RegionMover
389360a is described below

commit 389360a9743513d196382cdca36bab7e36fce6d8
Author: zhangduo 
AuthorDate: Sun Jan 20 08:56:45 2019 +0800

HBASE-21746 Fix two concern cases in RegionMover

Signed-off-by: Guanghao Zhang 
---
 .../org/apache/hadoop/hbase/util/RegionMover.java  |  30 +--
 .../apache/hadoop/hbase/util/TestRegionMover.java  | 235 ++---
 2 files changed, 132 insertions(+), 133 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
index 24c8fc3..70a4f0e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
@@ -45,13 +45,12 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.function.Predicate;
-
 import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.ClusterMetrics.Option;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.HRegionLocation;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.client.Connection;
@@ -667,18 +666,15 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
* @return server removed from list of Region Servers
*/
   private ServerName stripServer(List regionServers, String 
hostname, int port) {
-ServerName server = null;
-String portString = Integer.toString(port);
-Iterator i = regionServers.iterator();
-while (i.hasNext()) {
-  server = i.next();
-  String[] splitServer = 
server.getServerName().split(ServerName.SERVERNAME_SEPARATOR);
-  if (splitServer[0].equalsIgnoreCase(hostname) && 
splitServer[1].equals(portString)) {
-i.remove();
+for (Iterator iter = regionServers.iterator(); 
iter.hasNext();) {
+  ServerName server = iter.next();
+  if (server.getAddress().getHostname().equalsIgnoreCase(hostname) &&
+server.getAddress().getPort() == port) {
+iter.remove();
 return server;
   }
 }
-return server;
+return null;
   }
 
   /**
@@ -719,7 +715,13 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
 if (!admin.isTableEnabled(region.getTable())) {
   return null;
 }
-return MetaTableAccessor.getRegionLocation(conn, region).getServerName();
+HRegionLocation loc =
+  
conn.getRegionLocator(region.getTable()).getRegionLocation(region.getStartKey(),
 true);
+if (loc != null) {
+  return loc.getServerName();
+} else {
+  return null;
+}
   }
 
   @Override
@@ -782,6 +784,8 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
   }
 
   public static void main(String[] args) {
-new RegionMover().doStaticMain(args);
+try (RegionMover mover = new RegionMover()) {
+  mover.doStaticMain(args);
+}
   }
 }
\ No newline at end of file
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
index dd92b95..670248d 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
@@ -18,21 +18,25 @@
 package org.apache.hadoop.hbase.util;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
 import java.io.File;
 import java.io.FileWriter;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.MiniHBaseCluster;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.Waiter.Predicate;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
+import org.apache.hadoop.hbase.client.TableDescriptor;
+import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.te

[hbase] branch branch-2 updated: HBASE-21746 Fix two concern cases in RegionMover

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
 new e0d4915  HBASE-21746 Fix two concern cases in RegionMover
e0d4915 is described below

commit e0d4915f75a5a3691c0ba7554df9111a0aeecf3c
Author: zhangduo 
AuthorDate: Sun Jan 20 08:56:45 2019 +0800

HBASE-21746 Fix two concern cases in RegionMover

Signed-off-by: Guanghao Zhang 
---
 .../org/apache/hadoop/hbase/util/RegionMover.java  |  30 +--
 .../apache/hadoop/hbase/util/TestRegionMover.java  | 235 ++---
 2 files changed, 132 insertions(+), 133 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
index 24c8fc3..70a4f0e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
@@ -45,13 +45,12 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.function.Predicate;
-
 import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.ClusterMetrics.Option;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.HRegionLocation;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.client.Connection;
@@ -667,18 +666,15 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
* @return server removed from list of Region Servers
*/
   private ServerName stripServer(List regionServers, String 
hostname, int port) {
-ServerName server = null;
-String portString = Integer.toString(port);
-Iterator i = regionServers.iterator();
-while (i.hasNext()) {
-  server = i.next();
-  String[] splitServer = 
server.getServerName().split(ServerName.SERVERNAME_SEPARATOR);
-  if (splitServer[0].equalsIgnoreCase(hostname) && 
splitServer[1].equals(portString)) {
-i.remove();
+for (Iterator iter = regionServers.iterator(); 
iter.hasNext();) {
+  ServerName server = iter.next();
+  if (server.getAddress().getHostname().equalsIgnoreCase(hostname) &&
+server.getAddress().getPort() == port) {
+iter.remove();
 return server;
   }
 }
-return server;
+return null;
   }
 
   /**
@@ -719,7 +715,13 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
 if (!admin.isTableEnabled(region.getTable())) {
   return null;
 }
-return MetaTableAccessor.getRegionLocation(conn, region).getServerName();
+HRegionLocation loc =
+  
conn.getRegionLocator(region.getTable()).getRegionLocation(region.getStartKey(),
 true);
+if (loc != null) {
+  return loc.getServerName();
+} else {
+  return null;
+}
   }
 
   @Override
@@ -782,6 +784,8 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
   }
 
   public static void main(String[] args) {
-new RegionMover().doStaticMain(args);
+try (RegionMover mover = new RegionMover()) {
+  mover.doStaticMain(args);
+}
   }
 }
\ No newline at end of file
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
index dd92b95..670248d 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
@@ -18,21 +18,25 @@
 package org.apache.hadoop.hbase.util;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
 import java.io.File;
 import java.io.FileWriter;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.MiniHBaseCluster;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.Waiter.Predicate;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
+import org.apache.hadoop.hbase.client.TableDescriptor;
+import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.testcl

[hbase] branch master updated: HBASE-21746 Fix two concern cases in RegionMover

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
 new a2f6768  HBASE-21746 Fix two concern cases in RegionMover
a2f6768 is described below

commit a2f6768acdc30b789c7cb8482b9f4352803f60a1
Author: zhangduo 
AuthorDate: Sun Jan 20 08:56:45 2019 +0800

HBASE-21746 Fix two concern cases in RegionMover

Signed-off-by: Guanghao Zhang 
---
 .../org/apache/hadoop/hbase/util/RegionMover.java  |  30 +--
 .../apache/hadoop/hbase/util/TestRegionMover.java  | 235 ++---
 2 files changed, 132 insertions(+), 133 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
index 24c8fc3..70a4f0e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java
@@ -45,13 +45,12 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.function.Predicate;
-
 import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.ClusterMetrics.Option;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.HRegionLocation;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.client.Connection;
@@ -667,18 +666,15 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
* @return server removed from list of Region Servers
*/
   private ServerName stripServer(List regionServers, String 
hostname, int port) {
-ServerName server = null;
-String portString = Integer.toString(port);
-Iterator i = regionServers.iterator();
-while (i.hasNext()) {
-  server = i.next();
-  String[] splitServer = 
server.getServerName().split(ServerName.SERVERNAME_SEPARATOR);
-  if (splitServer[0].equalsIgnoreCase(hostname) && 
splitServer[1].equals(portString)) {
-i.remove();
+for (Iterator iter = regionServers.iterator(); 
iter.hasNext();) {
+  ServerName server = iter.next();
+  if (server.getAddress().getHostname().equalsIgnoreCase(hostname) &&
+server.getAddress().getPort() == port) {
+iter.remove();
 return server;
   }
 }
-return server;
+return null;
   }
 
   /**
@@ -719,7 +715,13 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
 if (!admin.isTableEnabled(region.getTable())) {
   return null;
 }
-return MetaTableAccessor.getRegionLocation(conn, region).getServerName();
+HRegionLocation loc =
+  
conn.getRegionLocator(region.getTable()).getRegionLocation(region.getStartKey(),
 true);
+if (loc != null) {
+  return loc.getServerName();
+} else {
+  return null;
+}
   }
 
   @Override
@@ -782,6 +784,8 @@ public class RegionMover extends AbstractHBaseTool 
implements Closeable {
   }
 
   public static void main(String[] args) {
-new RegionMover().doStaticMain(args);
+try (RegionMover mover = new RegionMover()) {
+  mover.doStaticMain(args);
+}
   }
 }
\ No newline at end of file
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
index dd92b95..670248d 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionMover.java
@@ -18,21 +18,25 @@
 package org.apache.hadoop.hbase.util;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
 import java.io.File;
 import java.io.FileWriter;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.MiniHBaseCluster;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.Waiter.Predicate;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
+import org.apache.hadoop.hbase.client.TableDescriptor;
+import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.testclassi

[hbase-site] branch asf-site updated: INFRA-10751 Empty commit

2019-01-19 Thread git-site-role
This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new ff36093  INFRA-10751 Empty commit
ff36093 is described below

commit ff360931c0d81397d03c7c2a79d474e52f95de8d
Author: jenkins 
AuthorDate: Sat Jan 19 14:47:51 2019 +

INFRA-10751 Empty commit



[hbase] branch branch-2.0 updated: Revert "HBASE-21034 Add new throttle type: read/write capacity unit"

2019-01-19 Thread zghao
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
 new d5c282c  Revert "HBASE-21034 Add new throttle type: read/write 
capacity unit"
d5c282c is described below

commit d5c282cb6a1f91e8122c3cddc638d0a78e324640
Author: Guanghao Zhang 
AuthorDate: Sat Jan 19 21:43:35 2019 +0800

Revert "HBASE-21034 Add new throttle type: read/write capacity unit"

This reverts commit 8b898a2868b229e801a8fe874e9327c9a81cbf54.
---
 .../hadoop/hbase/quotas/QuotaSettingsFactory.java  | 12 ---
 .../hbase/quotas/RpcThrottlingException.java   | 21 +
 .../hadoop/hbase/quotas/ThrottleSettings.java  |  6 --
 .../apache/hadoop/hbase/quotas/ThrottleType.java   |  9 ---
 .../hadoop/hbase/shaded/protobuf/ProtobufUtil.java | 56 -
 .../src/main/protobuf/Quota.proto  |  7 --
 .../hadoop/hbase/quotas/DefaultOperationQuota.java | 71 
 .../hbase/quotas/GlobalQuotaSettingsImpl.java  | 27 ---
 .../hadoop/hbase/quotas/NoopQuotaLimiter.java  | 11 ++-
 .../apache/hadoop/hbase/quotas/QuotaLimiter.java   | 18 ++---
 .../org/apache/hadoop/hbase/quotas/QuotaUtil.java  |  7 --
 .../hbase/quotas/RegionServerRpcQuotaManager.java  |  5 +-
 .../hadoop/hbase/quotas/TimeBasedLimiter.java  | 94 +++---
 .../apache/hadoop/hbase/quotas/TestQuotaAdmin.java | 24 +-
 .../apache/hadoop/hbase/quotas/TestQuotaState.java |  8 +-
 .../hadoop/hbase/quotas/TestQuotaThrottle.java | 62 +-
 hbase-shell/src/main/ruby/hbase/quotas.rb  |  5 +-
 .../src/main/ruby/shell/commands/set_quota.rb  | 10 +--
 hbase-shell/src/test/ruby/hbase/quotas_test.rb | 27 ---
 19 files changed, 69 insertions(+), 411 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java
index 14d1ad3..2a20c51 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java
@@ -143,18 +143,6 @@ public class QuotaSettingsFactory {
   settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, 
namespace,
   ThrottleType.READ_SIZE, throttle.getReadSize()));
 }
-if (throttle.hasReqCapacityUnit()) {
-  settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, 
namespace,
-ThrottleType.REQUEST_CAPACITY_UNIT, throttle.getReqCapacityUnit()));
-}
-if (throttle.hasReadCapacityUnit()) {
-  settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, 
namespace,
-ThrottleType.READ_CAPACITY_UNIT, throttle.getReadCapacityUnit()));
-}
-if (throttle.hasWriteCapacityUnit()) {
-  settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, 
namespace,
-ThrottleType.WRITE_CAPACITY_UNIT, throttle.getWriteCapacityUnit()));
-}
 return settings;
   }
 
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/RpcThrottlingException.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/RpcThrottlingException.java
index 4c48f65..9baf91f 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/RpcThrottlingException.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/RpcThrottlingException.java
@@ -29,15 +29,13 @@ public class RpcThrottlingException extends 
HBaseIOException {
   @InterfaceAudience.Public
   public enum Type {
 NumRequestsExceeded, RequestSizeExceeded, NumReadRequestsExceeded, 
NumWriteRequestsExceeded,
-WriteSizeExceeded, ReadSizeExceeded, RequestCapacityUnitExceeded, 
ReadCapacityUnitExceeded,
-WriteCapacityUnitExceeded
+WriteSizeExceeded, ReadSizeExceeded,
   }
 
   private static final String[] MSG_TYPE =
   new String[] { "number of requests exceeded", "request size limit 
exceeded",
 "number of read requests exceeded", "number of write requests 
exceeded",
-"write size limit exceeded", "read size limit exceeded", "request 
capacity unit exceeded",
-"read capacity unit exceeded", "write capacity unit exceeded" };
+"write size limit exceeded", "read size limit exceeded", };
 
   private static final String MSG_WAIT = " - wait ";
 
@@ -102,21 +100,6 @@ public class RpcThrottlingException extends 
HBaseIOException {
 throwThrottlingException(Type.ReadSizeExceeded, waitInterval);
   }
 
-  public static void throwRequestCapacityUnitExceeded(final long waitInterval)
-  throws RpcThrottlingException {
-throwThrottlingException(Type.RequestCapacityUnitExceeded, waitInterval);
-  }
-
-  public static void throwReadCapacityUnitExceeded(final long waitInterval)
-  throws RpcThrottlingException {
-thr

[hbase] branch branch-2.1 updated: Revert "HBASE-21034 Add new throttle type: read/write capacity unit"

2019-01-19 Thread zghao
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
 new 450124f  Revert "HBASE-21034 Add new throttle type: read/write 
capacity unit"
450124f is described below

commit 450124fe56816c966f44ec7720fc520251cc6b0d
Author: Guanghao Zhang 
AuthorDate: Sat Jan 19 09:49:04 2019 +0800

Revert "HBASE-21034 Add new throttle type: read/write capacity unit"

This reverts commit 483b7d008e1e5c0bf5c17b7dcf24263c17346804.
---
 .../hadoop/hbase/quotas/QuotaSettingsFactory.java  | 12 ---
 .../hbase/quotas/RpcThrottlingException.java   | 21 +
 .../hadoop/hbase/quotas/ThrottleSettings.java  |  6 --
 .../apache/hadoop/hbase/quotas/ThrottleType.java   |  9 ---
 .../hadoop/hbase/shaded/protobuf/ProtobufUtil.java | 56 -
 .../src/main/protobuf/Quota.proto  |  7 --
 .../hadoop/hbase/quotas/DefaultOperationQuota.java | 71 
 .../hbase/quotas/GlobalQuotaSettingsImpl.java  | 27 ---
 .../hadoop/hbase/quotas/NoopQuotaLimiter.java  | 11 ++-
 .../apache/hadoop/hbase/quotas/QuotaLimiter.java   | 18 ++---
 .../org/apache/hadoop/hbase/quotas/QuotaUtil.java  |  7 --
 .../hbase/quotas/RegionServerRpcQuotaManager.java  |  5 +-
 .../hadoop/hbase/quotas/TimeBasedLimiter.java  | 94 +++---
 .../apache/hadoop/hbase/quotas/TestQuotaAdmin.java | 24 +-
 .../apache/hadoop/hbase/quotas/TestQuotaState.java |  8 +-
 .../hadoop/hbase/quotas/TestQuotaThrottle.java | 62 +-
 hbase-shell/src/main/ruby/hbase/quotas.rb  |  5 +-
 .../src/main/ruby/shell/commands/set_quota.rb  | 10 +--
 hbase-shell/src/test/ruby/hbase/quotas_test.rb | 27 ---
 19 files changed, 69 insertions(+), 411 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java
index 14d1ad3..2a20c51 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java
@@ -143,18 +143,6 @@ public class QuotaSettingsFactory {
   settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, 
namespace,
   ThrottleType.READ_SIZE, throttle.getReadSize()));
 }
-if (throttle.hasReqCapacityUnit()) {
-  settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, 
namespace,
-ThrottleType.REQUEST_CAPACITY_UNIT, throttle.getReqCapacityUnit()));
-}
-if (throttle.hasReadCapacityUnit()) {
-  settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, 
namespace,
-ThrottleType.READ_CAPACITY_UNIT, throttle.getReadCapacityUnit()));
-}
-if (throttle.hasWriteCapacityUnit()) {
-  settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, 
namespace,
-ThrottleType.WRITE_CAPACITY_UNIT, throttle.getWriteCapacityUnit()));
-}
 return settings;
   }
 
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/RpcThrottlingException.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/RpcThrottlingException.java
index 4c48f65..9baf91f 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/RpcThrottlingException.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/RpcThrottlingException.java
@@ -29,15 +29,13 @@ public class RpcThrottlingException extends 
HBaseIOException {
   @InterfaceAudience.Public
   public enum Type {
 NumRequestsExceeded, RequestSizeExceeded, NumReadRequestsExceeded, 
NumWriteRequestsExceeded,
-WriteSizeExceeded, ReadSizeExceeded, RequestCapacityUnitExceeded, 
ReadCapacityUnitExceeded,
-WriteCapacityUnitExceeded
+WriteSizeExceeded, ReadSizeExceeded,
   }
 
   private static final String[] MSG_TYPE =
   new String[] { "number of requests exceeded", "request size limit 
exceeded",
 "number of read requests exceeded", "number of write requests 
exceeded",
-"write size limit exceeded", "read size limit exceeded", "request 
capacity unit exceeded",
-"read capacity unit exceeded", "write capacity unit exceeded" };
+"write size limit exceeded", "read size limit exceeded", };
 
   private static final String MSG_WAIT = " - wait ";
 
@@ -102,21 +100,6 @@ public class RpcThrottlingException extends 
HBaseIOException {
 throwThrottlingException(Type.ReadSizeExceeded, waitInterval);
   }
 
-  public static void throwRequestCapacityUnitExceeded(final long waitInterval)
-  throws RpcThrottlingException {
-throwThrottlingException(Type.RequestCapacityUnitExceeded, waitInterval);
-  }
-
-  public static void throwReadCapacityUnitExceeded(final long waitInterval)
-  throws RpcThrottlingException {
-thr

[hbase] 07/08: HBASE-21537 Rewrite ServerManager.closeRegionSilentlyAndWait to use AsyncClusterConnection

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch HBASE-21512
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 2b1fa8eccc9f9b4a41148ea659076f79e1020374
Author: Duo Zhang 
AuthorDate: Thu Jan 10 11:47:41 2019 +0800

HBASE-21537 Rewrite ServerManager.closeRegionSilentlyAndWait to use 
AsyncClusterConnection

Signed-off-by: Michael Stack 
---
 .../hadoop/hbase/master/MasterMetaBootstrap.java   |  2 +-
 .../apache/hadoop/hbase/master/ServerManager.java  | 41 +-
 .../apache/hadoop/hbase/util/HBaseFsckRepair.java  | 22 +++-
 3 files changed, 38 insertions(+), 27 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java
index e57817e..6e38bdd 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java
@@ -101,7 +101,7 @@ class MasterMetaBootstrap {
   RegionState r = MetaTableLocator.getMetaRegionState(zooKeeper, 
replicaId);
   LOG.info("Closing excess replica of meta region " + r.getRegion());
   // send a close and wait for a max of 30 seconds
-  
ServerManager.closeRegionSilentlyAndWait(master.getClusterConnection(),
+  
ServerManager.closeRegionSilentlyAndWait(master.getAsyncClusterConnection(),
   r.getServerName(), r.getRegion(), 3);
   ZKUtil.deleteNode(zooKeeper, 
zooKeeper.getZNodePaths().getZNodeForReplica(replicaId));
 }
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 c26ef6c..44a0770 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
@@ -48,13 +48,15 @@ import org.apache.hadoop.hbase.ServerMetrics;
 import org.apache.hadoop.hbase.ServerMetricsBuilder;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.YouAreDeadException;
-import org.apache.hadoop.hbase.client.ClusterConnection;
+import org.apache.hadoop.hbase.client.AsyncClusterConnection;
+import org.apache.hadoop.hbase.client.AsyncRegionServerAdmin;
 import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.ipc.HBaseRpcController;
 import org.apache.hadoop.hbase.master.assignment.RegionStates;
 import org.apache.hadoop.hbase.monitoring.MonitoredTask;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.FSUtils;
+import org.apache.hadoop.hbase.util.FutureUtils;
 import org.apache.hadoop.hbase.zookeeper.ZKUtil;
 import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
 import org.apache.yetus.audience.InterfaceAudience;
@@ -67,6 +69,7 @@ import 
org.apache.hbase.thirdparty.com.google.protobuf.ByteString;
 import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;
 
 import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
+import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.StoreSequenceId;
@@ -660,35 +663,39 @@ public class ServerManager {
   }
 
   /**
-   * Contacts a region server and waits up to timeout ms
-   * to close the region.  This bypasses the active hmaster.
+   * Contacts a region server and waits up to timeout ms to close the region. 
This bypasses the
+   * active hmaster.
*/
-  public static void closeRegionSilentlyAndWait(ClusterConnection connection,
-ServerName server, RegionInfo region, long timeout) throws IOException, 
InterruptedException {
-AdminService.BlockingInterface rs = connection.getAdmin(server);
-HBaseRpcController controller = 
connection.getRpcControllerFactory().newController();
+  public static void closeRegionSilentlyAndWait(AsyncClusterConnection 
connection,
+  ServerName server, RegionInfo region, long timeout) throws IOException, 
InterruptedException {
+AsyncRegionServerAdmin admin = connection.getRegionServerAdmin(server);
 try {
-  ProtobufUtil.closeRegion(controller, rs, server, region.getRegionName());
+  FutureUtils.get(
+admin.closeRegion(ProtobufUtil.buildCloseRegionRequest(server, 
region.getRegionName(;
 } catch (IOException e) {
   LOG.warn("Exception when closing region: " + 
region.getRegionNameAsString(), e);
 }
 long expiration = timeout + System.currentTimeMillis();
 while (System.currentTimeMillis() < expiration) {
-  controller.reset();
   try {
-R

[hbase] 04/08: HBASE-21579 Use AsyncClusterConnection for HBaseInterClusterReplicationEndpoint

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch HBASE-21512
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 1f08bdcf8567cd784e1edb32898e1f14c890d85b
Author: zhangduo 
AuthorDate: Tue Jan 1 21:27:14 2019 +0800

HBASE-21579 Use AsyncClusterConnection for 
HBaseInterClusterReplicationEndpoint
---
 .../hbase/client/AsyncRegionServerAdmin.java   | 14 +---
 .../hbase/protobuf/ReplicationProtbufUtil.java | 35 ++-
 .../HBaseInterClusterReplicationEndpoint.java  | 31 +
 .../regionserver/ReplicationSinkManager.java   | 40 --
 .../hbase/replication/SyncReplicationTestBase.java | 12 +++
 .../regionserver/TestReplicationSinkManager.java   | 21 +---
 6 files changed, 74 insertions(+), 79 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRegionServerAdmin.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRegionServerAdmin.java
index 9accd89..b9141a9 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRegionServerAdmin.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRegionServerAdmin.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.client;
 
 import java.io.IOException;
 import java.util.concurrent.CompletableFuture;
+import org.apache.hadoop.hbase.CellScanner;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.ipc.HBaseRpcController;
 import org.apache.yetus.audience.InterfaceAudience;
@@ -94,9 +95,9 @@ public class AsyncRegionServerAdmin {
 void call(AdminService.Interface stub, HBaseRpcController controller, 
RpcCallback done);
   }
 
-  private  CompletableFuture call(RpcCall rpcCall) {
+  private  CompletableFuture call(RpcCall rpcCall, 
CellScanner cellScanner) {
 CompletableFuture future = new CompletableFuture<>();
-HBaseRpcController controller = conn.rpcControllerFactory.newController();
+HBaseRpcController controller = 
conn.rpcControllerFactory.newController(cellScanner);
 try {
   rpcCall.call(conn.getAdminStub(server), controller, new 
RpcCallback() {
 
@@ -115,6 +116,10 @@ public class AsyncRegionServerAdmin {
 return future;
   }
 
+  private  CompletableFuture call(RpcCall rpcCall) {
+return call(rpcCall, null);
+  }
+
   public CompletableFuture 
getRegionInfo(GetRegionInfoRequest request) {
 return call((stub, controller, done) -> stub.getRegionInfo(controller, 
request, done));
   }
@@ -154,8 +159,9 @@ public class AsyncRegionServerAdmin {
   }
 
   public CompletableFuture replicateWALEntry(
-  ReplicateWALEntryRequest request) {
-return call((stub, controller, done) -> stub.replicateWALEntry(controller, 
request, done));
+  ReplicateWALEntryRequest request, CellScanner cellScanner) {
+return call((stub, controller, done) -> stub.replicateWALEntry(controller, 
request, done),
+  cellScanner);
   }
 
   public CompletableFuture 
replay(ReplicateWALEntryRequest request) {
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java
index c1b3911..74fad26 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java
@@ -20,51 +20,54 @@ package org.apache.hadoop.hbase.protobuf;
 
 
 import java.io.IOException;
+import java.io.InterruptedIOException;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.concurrent.ExecutionException;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellScanner;
 import org.apache.hadoop.hbase.PrivateCellUtil;
+import org.apache.hadoop.hbase.client.AsyncRegionServerAdmin;
 import org.apache.hadoop.hbase.io.SizedCellScanner;
-import org.apache.hadoop.hbase.ipc.HBaseRpcController;
-import org.apache.hadoop.hbase.ipc.HBaseRpcControllerImpl;
 import org.apache.hadoop.hbase.regionserver.wal.WALCellCodec;
 import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.wal.WAL.Entry;
 import org.apache.hadoop.hbase.wal.WALEdit;
 import org.apache.yetus.audience.InterfaceAudience;
 
+import org.apache.hbase.thirdparty.com.google.common.base.Throwables;
 import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;
 
 import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos;
-import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;
 
 @InterfaceAudience.Private
 public class ReplicationProtbufUtil {
+
   /**
-   * A helper to replicate a list of WAL entries using admin protocol.
-   * @param admin Admin service
+   * A helper to r

[hbase] 02/08: HBASE-21516 Use AsyncConnection instead of Connection in SecureBulkLoadManager

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch HBASE-21512
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 232122544fec7a5400cc9df07b38b8675f6dd9e9
Author: zhangduo 
AuthorDate: Sat Dec 1 21:15:48 2018 +0800

HBASE-21516 Use AsyncConnection instead of Connection in 
SecureBulkLoadManager
---
 .../apache/hadoop/hbase/protobuf/ProtobufUtil.java |  5 +-
 .../hadoop/hbase/shaded/protobuf/ProtobufUtil.java |  7 ++-
 .../hadoop/hbase/regionserver/HRegionServer.java   |  2 +-
 .../hbase/regionserver/SecureBulkLoadManager.java  | 24 -
 .../hadoop/hbase/security/token/TokenUtil.java | 57 +-
 .../hadoop/hbase/security/token/TestTokenUtil.java | 42 
 6 files changed, 96 insertions(+), 41 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
index a3d49b5..d9e620b 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
@@ -261,13 +261,12 @@ public final class ProtobufUtil {
* just {@link ServiceException}. Prefer this method to
* {@link #getRemoteException(ServiceException)} because trying to
* contain direct protobuf references.
-   * @param e
*/
-  public static IOException handleRemoteException(Exception e) {
+  public static IOException handleRemoteException(Throwable e) {
 return makeIOExceptionOfException(e);
   }
 
-  private static IOException makeIOExceptionOfException(Exception e) {
+  private static IOException makeIOExceptionOfException(Throwable e) {
 Throwable t = e;
 if (e instanceof ServiceException ||
 e instanceof 
org.apache.hbase.thirdparty.com.google.protobuf.ServiceException) {
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
index fea81f1..de2fb7d 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
@@ -40,7 +40,6 @@ import java.util.concurrent.TimeUnit;
 import java.util.function.Function;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.ByteBufferExtendedCell;
@@ -123,6 +122,7 @@ import 
org.apache.hbase.thirdparty.com.google.protobuf.Service;
 import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;
 import org.apache.hbase.thirdparty.com.google.protobuf.TextFormat;
 import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;
+
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;
@@ -343,13 +343,12 @@ public final class ProtobufUtil {
* just {@link ServiceException}. Prefer this method to
* {@link #getRemoteException(ServiceException)} because trying to
* contain direct protobuf references.
-   * @param e
*/
-  public static IOException handleRemoteException(Exception e) {
+  public static IOException handleRemoteException(Throwable e) {
 return makeIOExceptionOfException(e);
   }
 
-  private static IOException makeIOExceptionOfException(Exception e) {
+  private static IOException makeIOExceptionOfException(Throwable e) {
 Throwable t = e;
 if (e instanceof ServiceException) {
   t = e.getCause();
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
index dbc5e77..2e54907 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
@@ -1937,7 +1937,7 @@ public class HRegionServer extends HasThread implements
 if (!isStopped() && !isAborted()) {
   initializeThreads();
 }
-this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, 
clusterConnection);
+this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf, 
asyncClusterConnection);
 this.secureBulkLoadManager.start();
 
 // Health checker thread.
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.java
index 566a6b6..add6519 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SecureBul

[hbase] 06/08: HBASE-21671 Rewrite RegionReplicaReplicationEndpoint to use AsyncClusterConnection

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch HBASE-21512
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 0f65f5a8eed3c315317b654acc0582aaad323a8e
Author: Duo Zhang 
AuthorDate: Fri Jan 11 16:22:24 2019 +0800

HBASE-21671 Rewrite RegionReplicaReplicationEndpoint to use 
AsyncClusterConnection
---
 .../hadoop/hbase/client/AsyncConnectionImpl.java   |  24 +-
 .../hbase/client/AsyncClusterConnection.java   |  17 +
 .../hbase/client/AsyncClusterConnectionImpl.java   |  80 +++
 .../AsyncRegionReplicaReplayRetryingCaller.java| 146 
 .../hbase/client/AsyncRegionServerAdmin.java   |   5 +-
 .../hbase/client/ClusterConnectionFactory.java |   2 +-
 .../hbase/protobuf/ReplicationProtbufUtil.java |  31 +-
 .../handler/RegionReplicaFlushHandler.java |   3 +-
 .../hbase/replication/ReplicationEndpoint.java |  35 +-
 .../RegionReplicaReplicationEndpoint.java  | 782 +++--
 .../regionserver/ReplicationSource.java|   2 +-
 .../hbase/client/TestAsyncTableNoncedRetry.java|   2 +-
 .../TestRegionReplicaReplicationEndpoint.java  |  56 +-
 ...stRegionReplicaReplicationEndpointNoMaster.java |  99 ++-
 14 files changed, 627 insertions(+), 657 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
index ce6bfac..f6a2149 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
@@ -55,7 +55,6 @@ import 
org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer;
 
 import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;
-import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningResponse;
@@ -65,7 +64,7 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterServ
  * The implementation of AsyncConnection.
  */
 @InterfaceAudience.Private
-class AsyncConnectionImpl implements AsyncClusterConnection {
+class AsyncConnectionImpl implements AsyncConnection {
 
   private static final Logger LOG = 
LoggerFactory.getLogger(AsyncConnectionImpl.class);
 
@@ -85,7 +84,7 @@ class AsyncConnectionImpl implements AsyncClusterConnection {
 
   private final int rpcTimeout;
 
-  private final RpcClient rpcClient;
+  protected final RpcClient rpcClient;
 
   final RpcControllerFactory rpcControllerFactory;
 
@@ -160,16 +159,10 @@ class AsyncConnectionImpl implements 
AsyncClusterConnection {
   }
 
   // ditto
-  @Override
-  public NonceGenerator getNonceGenerator() {
+  NonceGenerator getNonceGenerator() {
 return nonceGenerator;
   }
 
-  @Override
-  public RpcClient getRpcClient() {
-return rpcClient;
-  }
-
   private ClientService.Interface createRegionServerStub(ServerName 
serverName) throws IOException {
 return ClientService.newStub(rpcClient.createRpcChannel(serverName, user, 
rpcTimeout));
   }
@@ -360,15 +353,4 @@ class AsyncConnectionImpl implements 
AsyncClusterConnection {
 return new HBaseHbck(MasterProtos.HbckService.newBlockingStub(
   rpcClient.createBlockingRpcChannel(masterServer, user, rpcTimeout)), 
rpcControllerFactory);
   }
-
-  public AsyncRegionServerAdmin getRegionServerAdmin(ServerName serverName) {
-return new AsyncRegionServerAdmin(serverName, this);
-  }
-
-  @Override
-  public CompletableFuture flush(byte[] regionName,
-  boolean writeFlushWALMarker) {
-RawAsyncHBaseAdmin admin = (RawAsyncHBaseAdmin) getAdmin();
-return admin.flushRegionInternal(regionName, writeFlushWALMarker);
-  }
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
similarity index 72%
rename from 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
rename to 
hbase-server/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
index f1f64ca..0ad77ba 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
@@ -17,9 +17,13 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import java.util.List;
 import java.util.concurrent.CompletableFuture;
+import org.apache.hadoop.hbase.RegionLocations;
 import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableN

[hbase] branch HBASE-21512 updated (c93f47c -> cb91089)

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a change to branch HBASE-21512
in repository https://gitbox.apache.org/repos/asf/hbase.git.


 discard c93f47c  HBASE-21719 Rewrite RegionPlacementMaintainer to use 
AsyncClusterConnection
 discard 446f9ad  HBASE-21537 Rewrite ServerManager.closeRegionSilentlyAndWait 
to use AsyncClusterConnection
 discard 6786c49  HBASE-21671 Rewrite RegionReplicaReplicationEndpoint to use 
AsyncClusterConnection
 discard dd41313  HBASE-21538 Rewrite RegionReplicaFlushHandler to use 
AsyncClusterConnection
 discard c6ddd86  HBASE-21579 Use AsyncClusterConnection for 
HBaseInterClusterReplicationEndpoint
 discard aeda3f8  HBASE-21526 Use AsyncClusterConnection in ServerManager for 
getRsAdmin
 discard 6faad94  HBASE-21516 Use AsyncConnection instead of Connection in 
SecureBulkLoadManager
 discard 910a6b4  HBASE-21515 Also initialize an AsyncClusterConnection in 
HRegionServer
 add bc0fb66  HBASE-21595, Print thread's information and stack traces when 
RS is aborting forcibly
 add 6da0b4e  HBASE-21639 maxHeapUsage value not read properly from config 
during EntryBuffers initialization
 add c2c1af4  HBASE-21647 Add status track for splitting WAL tasks
 add 15031c5  HBASE-21657 PrivateCellUtil#estimatedSerializedSizeOf has 
been the bottleneck in 100% scan case
 add 5ca1b64  HBASE-21612, Add developer debug options in HBase Config for 
REST server
 add 5675bb8  HBASE-21712 Make submit-patch.py python3 compatible - ADDENDUM
 add 400276e  HBASE-21711 Remove references to git.apache.org/hbase.git
 add 51c58e0  HBASE-21727 Simplify documentation around client timeout
 add 348cbf6  HBASE-21732 Should call toUpperCase before using Enum.valueOf 
in some methods for ColumnFamilyDescriptor
 add 6363efc  HBASE-21731 Do not need to use ClusterConnection in 
IntegrationTestBigLinkedListWithVisibility
 add 594341d  HBASE-21710 Add quota related methods to the Admin interface
 add 3e92cd5  HBASE-20209 Do Not Use Both Map containsKey and get Methods 
in Replication Sink
 add 408eb9a  HBASE-17370 Fix or provide shell scripts to drain and 
decommission region server
 add 44dc872  HBASE-19695 Handle disabled table for async client
 add 3d23490  HBASE-21737 Fix typos in "Appendix A: HFile format" section 
in the doc
 add 882bd56  HBASE-21726 Add getAllRegionLocations method to 
AsyncTableRegionLocator
 new 39e09e8  HBASE-21515 Also initialize an AsyncClusterConnection in 
HRegionServer
 new 2321225  HBASE-21516 Use AsyncConnection instead of Connection in 
SecureBulkLoadManager
 new 040bd20  HBASE-21526 Use AsyncClusterConnection in ServerManager for 
getRsAdmin
 new 1f08bdc  HBASE-21579 Use AsyncClusterConnection for 
HBaseInterClusterReplicationEndpoint
 new e8a273b  HBASE-21538 Rewrite RegionReplicaFlushHandler to use 
AsyncClusterConnection
 new 0f65f5a  HBASE-21671 Rewrite RegionReplicaReplicationEndpoint to use 
AsyncClusterConnection
 new 2b1fa8e  HBASE-21537 Rewrite ServerManager.closeRegionSilentlyAndWait 
to use AsyncClusterConnection
 new cb91089  HBASE-21719 Rewrite RegionPlacementMaintainer to use 
AsyncClusterConnection

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (c93f47c)
\
 N -- N -- N   refs/heads/HBASE-21512 (cb91089)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 conf/hbase-env.sh  |   1 +
 dev-support/hbase_docker/Dockerfile|   2 +-
 dev-support/python-requirements.txt|   1 +
 .../java/org/apache/hadoop/hbase/client/Admin.java |  24 
 .../org/apache/hadoop/hbase/client/AsyncAdmin.java |  30 -
 .../hbase/client/AsyncConnectionConfiguration.java |   9 +-
 .../hadoop/hbase/client/AsyncHBaseAdmin.java   |  23 +++-
 .../hadoop/hbase/client/AsyncRegionLocator.java|  13 +-
 .../hbase/client/AsyncRpcRetryingCaller.java   |  75 ---
 .../AsyncSingleRequestRpcRetryingCaller.java   |   6 +
 .../hbase/client/AsyncTableRegionLocator.java  |  15 ++-
 .../hbase/client/AsyncTableRegionLocatorImpl.java  |  70 +-
 .../apache/hadoop/hbase/client/ClientScanner.java  |   7 +-

[hbase] 08/08: HBASE-21719 Rewrite RegionPlacementMaintainer to use AsyncClusterConnection

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch HBASE-21512
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit cb91089fa364e14de8a02a530062789e57109361
Author: Duo Zhang 
AuthorDate: Tue Jan 15 11:43:41 2019 +0800

HBASE-21719 Rewrite RegionPlacementMaintainer to use AsyncClusterConnection

Signed-off-by: Michael Stack 
---
 .../hbase/master/RegionPlacementMaintainer.java| 225 +++--
 1 file changed, 113 insertions(+), 112 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java
index faf5e4a..fda0a9c 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java
@@ -1,5 +1,4 @@
 /**
- *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -16,9 +15,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.hadoop.hbase.master;
 
+import java.io.Closeable;
 import java.io.IOException;
 import java.text.DecimalFormat;
 import java.util.ArrayList;
@@ -39,29 +38,30 @@ import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.client.Admin;
-import org.apache.hadoop.hbase.client.ClusterConnection;
-import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.AsyncClusterConnection;
+import org.apache.hadoop.hbase.client.AsyncRegionServerAdmin;
+import org.apache.hadoop.hbase.client.ClusterConnectionFactory;
 import org.apache.hadoop.hbase.client.ConnectionFactory;
 import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.favored.FavoredNodeAssignmentHelper;
 import org.apache.hadoop.hbase.favored.FavoredNodesPlan;
+import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.util.FSUtils;
+import org.apache.hadoop.hbase.util.FutureUtils;
 import org.apache.hadoop.hbase.util.MunkresAssignment;
 import org.apache.hadoop.hbase.util.Pair;
 import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.hbase.thirdparty.com.google.common.io.Closeables;
 import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine;
 import org.apache.hbase.thirdparty.org.apache.commons.cli.GnuParser;
 import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter;
 import org.apache.hbase.thirdparty.org.apache.commons.cli.Options;
 import org.apache.hbase.thirdparty.org.apache.commons.cli.ParseException;
 
-import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;
-import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;
 
@@ -71,7 +71,7 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavor
  */
 @InterfaceAudience.Private
 // TODO: Remove? Unused. Partially implemented only.
-public class RegionPlacementMaintainer {
+public class RegionPlacementMaintainer implements Closeable {
   private static final Logger LOG = 
LoggerFactory.getLogger(RegionPlacementMaintainer.class
   .getName());
   //The cost of a placement that should never be assigned.
@@ -96,9 +96,9 @@ public class RegionPlacementMaintainer {
   private final boolean enforceMinAssignmentMove;
   private RackManager rackManager;
   private Set targetTableSet;
-  private final Connection connection;
+  private AsyncClusterConnection connection;
 
-  public RegionPlacementMaintainer(Configuration conf) {
+  public RegionPlacementMaintainer(Configuration conf) throws IOException {
 this(conf, true, true);
   }
 
@@ -109,11 +109,6 @@ public class RegionPlacementMaintainer {
 this.enforceMinAssignmentMove = enforceMinAssignmentMove;
 this.targetTableSet = new HashSet<>();
 this.rackManager = new RackManager(conf);
-try {
-  this.connection = ConnectionFactory.createConnection(this.conf);
-} catch (IOException e) {
-  throw new RuntimeException(e);
-}
   }
 
   private static void printHelp(Options opt) {
@@ -124,6 +119,14 @@ public class RegionPlacementMaintainer {
 " [-fs hdfs://a.b.c.d:9000] [-hbase_root /HBASE]", opt);
   }
 
+  private AsyncClusterConnection getConnection() throws IOExcept

[hbase] 05/08: HBASE-21538 Rewrite RegionReplicaFlushHandler to use AsyncClusterConnection

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch HBASE-21512
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit e8a273b52c6862a40f67d8021707a945ad802b56
Author: Duo Zhang 
AuthorDate: Wed Dec 12 09:33:33 2018 +0800

HBASE-21538 Rewrite RegionReplicaFlushHandler to use AsyncClusterConnection
---
 .../hbase/client/AsyncClusterConnection.java   |   8 ++
 .../hadoop/hbase/client/AsyncConnectionImpl.java   |   8 ++
 .../hbase/client/ClusterConnectionFactory.java |  16 +--
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java|  36 ---
 .../org/apache/hadoop/hbase/util/FutureUtils.java  |  22 +
 .../master/procedure/RSProcedureDispatcher.java|  34 +--
 .../hbase/protobuf/ReplicationProtbufUtil.java |  15 +--
 .../hadoop/hbase/regionserver/HRegionServer.java   |   3 +-
 .../handler/RegionReplicaFlushHandler.java | 110 -
 9 files changed, 132 insertions(+), 120 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
index 1327fd7..f1f64ca 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
@@ -17,10 +17,13 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import java.util.concurrent.CompletableFuture;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.ipc.RpcClient;
 import org.apache.yetus.audience.InterfaceAudience;
 
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;
+
 /**
  * The asynchronous connection for internal usage.
  */
@@ -41,4 +44,9 @@ public interface AsyncClusterConnection extends 
AsyncConnection {
* Get the rpc client we used to communicate with other servers.
*/
   RpcClient getRpcClient();
+
+  /**
+   * Flush a region and get the response.
+   */
+  CompletableFuture flush(byte[] regionName, boolean 
writeFlushWALMarker);
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
index 9bead83..ce6bfac 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
@@ -55,6 +55,7 @@ import 
org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer;
 
 import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningResponse;
@@ -363,4 +364,11 @@ class AsyncConnectionImpl implements 
AsyncClusterConnection {
   public AsyncRegionServerAdmin getRegionServerAdmin(ServerName serverName) {
 return new AsyncRegionServerAdmin(serverName, this);
   }
+
+  @Override
+  public CompletableFuture flush(byte[] regionName,
+  boolean writeFlushWALMarker) {
+RawAsyncHBaseAdmin admin = (RawAsyncHBaseAdmin) getAdmin();
+return admin.flushRegionInternal(regionName, writeFlushWALMarker);
+  }
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClusterConnectionFactory.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClusterConnectionFactory.java
index 68c0630..79484db 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClusterConnectionFactory.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClusterConnectionFactory.java
@@ -18,15 +18,12 @@
 package org.apache.hadoop.hbase.client;
 
 import java.io.IOException;
-import java.io.InterruptedIOException;
 import java.net.SocketAddress;
-import java.util.concurrent.ExecutionException;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.security.User;
+import org.apache.hadoop.hbase.util.FutureUtils;
 import org.apache.yetus.audience.InterfaceAudience;
 
-import org.apache.hbase.thirdparty.com.google.common.base.Throwables;
-
 /**
  * The factory for creating {@link AsyncClusterConnection}.
  */
@@ -48,16 +45,7 @@ public final class ClusterConnectionFactory {
   public static AsyncClusterConnection 
createAsyncClusterConnection(Configuration conf,
   SocketAddress localAddress, User user) throws IOException {
 AsyncRegistry registry = AsyncRegistryFactory.getRegistry(conf);
-String clusterId;
-try {
-  clusterId = registry.getClusterId().get();
-} catch (InterruptedException

[hbase] 03/08: HBASE-21526 Use AsyncClusterConnection in ServerManager for getRsAdmin

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch HBASE-21512
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 040bd20e729f78efe81cb5051fdca8e5e34d595e
Author: zhangduo 
AuthorDate: Thu Dec 6 21:25:34 2018 +0800

HBASE-21526 Use AsyncClusterConnection in ServerManager for getRsAdmin
---
 .../hbase/client/AsyncClusterConnection.java   |   6 +
 .../hadoop/hbase/client/AsyncConnectionImpl.java   |   4 +
 .../hbase/client/AsyncRegionServerAdmin.java   | 210 +
 .../org/apache/hadoop/hbase/util/FutureUtils.java  |   2 +-
 .../org/apache/hadoop/hbase/master/HMaster.java|  15 +-
 .../apache/hadoop/hbase/master/ServerManager.java  |  67 ---
 .../master/procedure/RSProcedureDispatcher.java|  44 +++--
 7 files changed, 262 insertions(+), 86 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
index c7dea25..1327fd7 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.ipc.RpcClient;
 import org.apache.yetus.audience.InterfaceAudience;
 
@@ -27,6 +28,11 @@ import org.apache.yetus.audience.InterfaceAudience;
 public interface AsyncClusterConnection extends AsyncConnection {
 
   /**
+   * Get the admin service for the given region server.
+   */
+  AsyncRegionServerAdmin getRegionServerAdmin(ServerName serverName);
+
+  /**
* Get the nonce generator for this connection.
*/
   NonceGenerator getNonceGenerator();
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
index 50e27c4..9bead83 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
@@ -359,4 +359,8 @@ class AsyncConnectionImpl implements AsyncClusterConnection 
{
 return new HBaseHbck(MasterProtos.HbckService.newBlockingStub(
   rpcClient.createBlockingRpcChannel(masterServer, user, rpcTimeout)), 
rpcControllerFactory);
   }
+
+  public AsyncRegionServerAdmin getRegionServerAdmin(ServerName serverName) {
+return new AsyncRegionServerAdmin(serverName, this);
+  }
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRegionServerAdmin.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRegionServerAdmin.java
new file mode 100644
index 000..9accd89
--- /dev/null
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRegionServerAdmin.java
@@ -0,0 +1,210 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.client;
+
+import java.io.IOException;
+import java.util.concurrent.CompletableFuture;
+import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.ipc.HBaseRpcController;
+import org.apache.yetus.audience.InterfaceAudience;
+
+import org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback;
+import org.apache.hbase.thirdparty.com.google.protobuf.RpcController;
+
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearRegionBlockCacheRequest;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearRegionBlockCacheResponse;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;
+import 
org.apache.hadoop.hbase.shaded.protobuf.ge

[hbase] 01/08: HBASE-21515 Also initialize an AsyncClusterConnection in HRegionServer

2019-01-19 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch HBASE-21512
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 39e09e8a612bec02a8e77813a00836686cfe5275
Author: zhangduo 
AuthorDate: Fri Nov 30 08:23:47 2018 +0800

HBASE-21515 Also initialize an AsyncClusterConnection in HRegionServer
---
 .../hbase/client/AsyncClusterConnection.java   | 38 +
 .../hadoop/hbase/client/AsyncConnectionImpl.java   | 14 +++--
 .../hbase/client/ClusterConnectionFactory.java | 63 ++
 .../hadoop/hbase/client/ConnectionFactory.java |  5 +-
 .../apache/hadoop/hbase/util/ReflectionUtils.java  | 22 
 .../main/java/org/apache/hadoop/hbase/Server.java  | 20 +++
 .../org/apache/hadoop/hbase/master/HMaster.java|  3 ++
 .../hadoop/hbase/regionserver/HRegionServer.java   | 56 +--
 .../regionserver/ReplicationSyncUp.java|  6 +++
 .../hadoop/hbase/MockRegionServerServices.java |  5 ++
 .../client/TestAsyncNonMetaRegionLocator.java  |  2 +-
 ...stAsyncNonMetaRegionLocatorConcurrenyLimit.java |  2 +-
 .../client/TestAsyncRegionLocatorTimeout.java  |  2 +-
 .../TestAsyncSingleRequestRpcRetryingCaller.java   |  4 +-
 .../hbase/client/TestAsyncTableNoncedRetry.java|  2 +-
 .../hbase/master/MockNoopMasterServices.java   |  6 +++
 .../hadoop/hbase/master/MockRegionServer.java  |  5 ++
 .../hbase/master/TestActiveMasterManager.java  |  6 +++
 .../hbase/master/cleaner/TestHFileCleaner.java |  6 +++
 .../hbase/master/cleaner/TestHFileLinkCleaner.java |  6 +++
 .../hbase/master/cleaner/TestLogsCleaner.java  |  6 +++
 .../cleaner/TestReplicationHFileCleaner.java   |  6 +++
 .../hbase/regionserver/TestHeapMemoryManager.java  |  6 +++
 .../hbase/regionserver/TestSplitLogWorker.java |  6 +++
 .../hadoop/hbase/regionserver/TestWALLockup.java   |  6 +++
 .../replication/TestReplicationTrackerZKImpl.java  |  6 +++
 .../regionserver/TestReplicationSourceManager.java |  6 +++
 .../security/token/TestTokenAuthentication.java|  6 +++
 .../org/apache/hadoop/hbase/util/MockServer.java   |  6 +++
 29 files changed, 290 insertions(+), 37 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
new file mode 100644
index 000..c7dea25
--- /dev/null
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClusterConnection.java
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.client;
+
+import org.apache.hadoop.hbase.ipc.RpcClient;
+import org.apache.yetus.audience.InterfaceAudience;
+
+/**
+ * The asynchronous connection for internal usage.
+ */
+@InterfaceAudience.Private
+public interface AsyncClusterConnection extends AsyncConnection {
+
+  /**
+   * Get the nonce generator for this connection.
+   */
+  NonceGenerator getNonceGenerator();
+
+  /**
+   * Get the rpc client we used to communicate with other servers.
+   */
+  RpcClient getRpcClient();
+}
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
index 3cbd950..50e27c4 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
@@ -23,6 +23,7 @@ import static 
org.apache.hadoop.hbase.client.NonceGenerator.CLIENT_NONCES_ENABLE
 import static org.apache.hadoop.hbase.util.FutureUtils.addListener;
 
 import java.io.IOException;
+import java.net.SocketAddress;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
@@ -63,7 +64,7 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterServ
  * The implementation of AsyncConnection.
  */
 @InterfaceAudience.Private
-class AsyncConnectionImpl implements AsyncConnection {
+class AsyncConnectionImpl implements AsyncClusterConnecti