[hbase] branch branch-2.1 updated: HBASE-24600 Empty RegionAction added to MultiRequest in case of RowMutations/CheckAndMutate batch

2020-06-24 Thread brfrn169
This is an automated email from the ASF dual-hosted git repository.

brfrn169 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 72323d8  HBASE-24600 Empty RegionAction added to MultiRequest in case 
of RowMutations/CheckAndMutate batch
72323d8 is described below

commit 72323d85927e1ec051667cdd37c52704b893aeaa
Author: Toshihiro Suzuki 
AuthorDate: Thu Jun 25 09:52:44 2020 +0900

HBASE-24600 Empty RegionAction added to MultiRequest in case of 
RowMutations/CheckAndMutate batch

Signed-off-by: Guanghao Zhang 
---
 .../org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
index acf5a57..8055ed7 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
@@ -698,7 +698,9 @@ public final class RequestConverter {
 if (!multiRequestBuilder.hasNonceGroup() && hasNonce) {
   multiRequestBuilder.setNonceGroup(nonceGroup);
 }
-multiRequestBuilder.addRegionAction(builder.build());
+if (builder.getActionCount() > 0) {
+  multiRequestBuilder.addRegionAction(builder.build());
+}
 
 // Process RowMutations here. We can not process it in the big loop above 
because
 // it will corrupt the sequence order maintained in cells.
@@ -821,7 +823,9 @@ public final class RequestConverter {
 if (!multiRequestBuilder.hasNonceGroup() && hasNonce) {
   multiRequestBuilder.setNonceGroup(nonceGroup);
 }
-multiRequestBuilder.addRegionAction(builder.build());
+if (builder.getActionCount() > 0) {
+  multiRequestBuilder.addRegionAction(builder.build());
+}
 
 // Process RowMutations here. We can not process it in the big loop above 
because
 // it will corrupt the sequence order maintained in cells.



[hbase] branch branch-2.2 updated: HBASE-24600 Empty RegionAction added to MultiRequest in case of RowMutations/CheckAndMutate batch

2020-06-24 Thread brfrn169
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/branch-2.2 by this push:
 new 152c492  HBASE-24600 Empty RegionAction added to MultiRequest in case 
of RowMutations/CheckAndMutate batch
152c492 is described below

commit 152c492ba86cc3c0a35ac1c11f2d80d709939462
Author: Toshihiro Suzuki 
AuthorDate: Thu Jun 25 09:52:44 2020 +0900

HBASE-24600 Empty RegionAction added to MultiRequest in case of 
RowMutations/CheckAndMutate batch

Signed-off-by: Guanghao Zhang 
---
 .../org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
index 1c9bac7..70b6e47 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
@@ -698,7 +698,9 @@ public final class RequestConverter {
 if (!multiRequestBuilder.hasNonceGroup() && hasNonce) {
   multiRequestBuilder.setNonceGroup(nonceGroup);
 }
-multiRequestBuilder.addRegionAction(builder.build());
+if (builder.getActionCount() > 0) {
+  multiRequestBuilder.addRegionAction(builder.build());
+}
 
 // Process RowMutations here. We can not process it in the big loop above 
because
 // it will corrupt the sequence order maintained in cells.
@@ -821,7 +823,9 @@ public final class RequestConverter {
 if (!multiRequestBuilder.hasNonceGroup() && hasNonce) {
   multiRequestBuilder.setNonceGroup(nonceGroup);
 }
-multiRequestBuilder.addRegionAction(builder.build());
+if (builder.getActionCount() > 0) {
+  multiRequestBuilder.addRegionAction(builder.build());
+}
 
 // Process RowMutations here. We can not process it in the big loop above 
because
 // it will corrupt the sequence order maintained in cells.



[hbase] branch branch-2.3 updated: HBASE-24600 Empty RegionAction added to MultiRequest in case of RowMutations/CheckAndMutate batch

2020-06-24 Thread brfrn169
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/branch-2.3 by this push:
 new 449f23c  HBASE-24600 Empty RegionAction added to MultiRequest in case 
of RowMutations/CheckAndMutate batch
449f23c is described below

commit 449f23cedc3b34125a7ed06962b829aec959aed6
Author: Toshihiro Suzuki 
AuthorDate: Thu Jun 25 09:52:44 2020 +0900

HBASE-24600 Empty RegionAction added to MultiRequest in case of 
RowMutations/CheckAndMutate batch

Signed-off-by: Guanghao Zhang 
---
 .../org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
index 9657d6e..e191e81 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
@@ -691,7 +691,9 @@ public final class RequestConverter {
 if (!multiRequestBuilder.hasNonceGroup() && hasNonce) {
   multiRequestBuilder.setNonceGroup(nonceGroup);
 }
-multiRequestBuilder.addRegionAction(builder.build());
+if (builder.getActionCount() > 0) {
+  multiRequestBuilder.addRegionAction(builder.build());
+}
 
 // Process RowMutations here. We can not process it in the big loop above 
because
 // it will corrupt the sequence order maintained in cells.
@@ -814,7 +816,9 @@ public final class RequestConverter {
 if (!multiRequestBuilder.hasNonceGroup() && hasNonce) {
   multiRequestBuilder.setNonceGroup(nonceGroup);
 }
-multiRequestBuilder.addRegionAction(builder.build());
+if (builder.getActionCount() > 0) {
+  multiRequestBuilder.addRegionAction(builder.build());
+}
 
 // Process RowMutations here. We can not process it in the big loop above 
because
 // it will corrupt the sequence order maintained in cells.



[hbase] branch branch-2 updated: HBASE-24600 Empty RegionAction added to MultiRequest in case of RowMutations/CheckAndMutate batch

2020-06-24 Thread brfrn169
This is an automated email from the ASF dual-hosted git repository.

brfrn169 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 a701f0e  HBASE-24600 Empty RegionAction added to MultiRequest in case 
of RowMutations/CheckAndMutate batch
a701f0e is described below

commit a701f0ef32acb8095b26d190f4547e0af96b5245
Author: Toshihiro Suzuki 
AuthorDate: Thu Jun 25 09:52:44 2020 +0900

HBASE-24600 Empty RegionAction added to MultiRequest in case of 
RowMutations/CheckAndMutate batch

Signed-off-by: Guanghao Zhang 
---
 .../org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
index f41af09..1218aac 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
@@ -641,7 +641,9 @@ public final class RequestConverter {
 if (!multiRequestBuilder.hasNonceGroup() && hasNonce) {
   multiRequestBuilder.setNonceGroup(nonceGroup);
 }
-multiRequestBuilder.addRegionAction(builder.build());
+if (builder.getActionCount() > 0) {
+  multiRequestBuilder.addRegionAction(builder.build());
+}
 
 // Process RowMutations here. We can not process it in the big loop above 
because
 // it will corrupt the sequence order maintained in cells.
@@ -810,7 +812,9 @@ public final class RequestConverter {
 if (!multiRequestBuilder.hasNonceGroup() && hasNonce) {
   multiRequestBuilder.setNonceGroup(nonceGroup);
 }
-multiRequestBuilder.addRegionAction(builder.build());
+if (builder.getActionCount() > 0) {
+  multiRequestBuilder.addRegionAction(builder.build());
+}
 
 // Process RowMutations here. We can not process it in the big loop above 
because
 // it will corrupt the sequence order maintained in cells.



[hbase] branch master updated (f67846e -> 7fee4b5)

2020-06-24 Thread brfrn169
This is an automated email from the ASF dual-hosted git repository.

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


from f67846e  HBASE-24630 Purge dev javadoc from client bin tarball
 add 7fee4b5  HBASE-24600 Empty RegionAction added to MultiRequest in case 
of RowMutations/CheckAndMutate batch (#1938)

No new revisions were added by this update.

Summary of changes:
 .../org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)



[hbase] branch branch-2.1 updated: HBASE-24630 Purge dev javadoc from client bin tarball

2020-06-24 Thread ndimiduk
This is an automated email from the ASF dual-hosted git repository.

ndimiduk 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 6e8b7d9  HBASE-24630 Purge dev javadoc from client bin tarball
6e8b7d9 is described below

commit 6e8b7d9a843f4f614b8ee941d5c2ed6944c98cf4
Author: Nick Dimiduk 
AuthorDate: Wed Jun 24 14:02:10 2020 -0700

HBASE-24630 Purge dev javadoc from client bin tarball

Signed-off-by: Josh Elser 
Signed-off-by: Sean Busbey 
---
 hbase-assembly/src/main/assembly/client-components.xml | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/hbase-assembly/src/main/assembly/client-components.xml 
b/hbase-assembly/src/main/assembly/client-components.xml
index 2369f28..6fd323c 100644
--- a/hbase-assembly/src/main/assembly/client-components.xml
+++ b/hbase-assembly/src/main/assembly/client-components.xml
@@ -26,6 +26,12 @@
 
   ${project.basedir}/../target/site
   docs
+  
+  
+**/*devapidocs/**
+  
 
 
 



[hbase] branch branch-2.2 updated: HBASE-24630 Purge dev javadoc from client bin tarball

2020-06-24 Thread ndimiduk
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/branch-2.2 by this push:
 new 42a965c  HBASE-24630 Purge dev javadoc from client bin tarball
42a965c is described below

commit 42a965c8ec80efa0674fbf6822ed76a618fb3636
Author: Nick Dimiduk 
AuthorDate: Wed Jun 24 14:02:10 2020 -0700

HBASE-24630 Purge dev javadoc from client bin tarball

Signed-off-by: Josh Elser 
Signed-off-by: Sean Busbey 
---
 hbase-assembly/src/main/assembly/client-components.xml | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/hbase-assembly/src/main/assembly/client-components.xml 
b/hbase-assembly/src/main/assembly/client-components.xml
index 2369f28..6fd323c 100644
--- a/hbase-assembly/src/main/assembly/client-components.xml
+++ b/hbase-assembly/src/main/assembly/client-components.xml
@@ -26,6 +26,12 @@
 
   ${project.basedir}/../target/site
   docs
+  
+  
+**/*devapidocs/**
+  
 
 
 



[hbase] branch branch-2.3 updated: HBASE-24630 Purge dev javadoc from client bin tarball

2020-06-24 Thread ndimiduk
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/branch-2.3 by this push:
 new 4f4ca55  HBASE-24630 Purge dev javadoc from client bin tarball
4f4ca55 is described below

commit 4f4ca550504fc503572715a5cf40fe62e9babb66
Author: Nick Dimiduk 
AuthorDate: Wed Jun 24 14:02:10 2020 -0700

HBASE-24630 Purge dev javadoc from client bin tarball

Signed-off-by: Josh Elser 
Signed-off-by: Sean Busbey 
---
 hbase-assembly/src/main/assembly/client-components.xml | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/hbase-assembly/src/main/assembly/client-components.xml 
b/hbase-assembly/src/main/assembly/client-components.xml
index 740e9bc..4bad0d4 100644
--- a/hbase-assembly/src/main/assembly/client-components.xml
+++ b/hbase-assembly/src/main/assembly/client-components.xml
@@ -26,6 +26,12 @@
 
   ${project.basedir}/../target/site
   docs
+  
+  
+**/*devapidocs/**
+  
 
 
 



[hbase] branch branch-2 updated: HBASE-24630 Purge dev javadoc from client bin tarball

2020-06-24 Thread ndimiduk
This is an automated email from the ASF dual-hosted git repository.

ndimiduk 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 d042274  HBASE-24630 Purge dev javadoc from client bin tarball
d042274 is described below

commit d0422748f103487f4e68b734cf514547c5aece40
Author: Nick Dimiduk 
AuthorDate: Wed Jun 24 14:02:10 2020 -0700

HBASE-24630 Purge dev javadoc from client bin tarball

Signed-off-by: Josh Elser 
Signed-off-by: Sean Busbey 
---
 hbase-assembly/src/main/assembly/client-components.xml | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/hbase-assembly/src/main/assembly/client-components.xml 
b/hbase-assembly/src/main/assembly/client-components.xml
index 740e9bc..4bad0d4 100644
--- a/hbase-assembly/src/main/assembly/client-components.xml
+++ b/hbase-assembly/src/main/assembly/client-components.xml
@@ -26,6 +26,12 @@
 
   ${project.basedir}/../target/site
   docs
+  
+  
+**/*devapidocs/**
+  
 
 
 



[hbase] branch master updated: HBASE-24630 Purge dev javadoc from client bin tarball

2020-06-24 Thread ndimiduk
This is an automated email from the ASF dual-hosted git repository.

ndimiduk 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 f67846e  HBASE-24630 Purge dev javadoc from client bin tarball
f67846e is described below

commit f67846ed353fb2f04278c1f88dad62f51bffa070
Author: Nick Dimiduk 
AuthorDate: Wed Jun 24 14:02:10 2020 -0700

HBASE-24630 Purge dev javadoc from client bin tarball

Signed-off-by: Josh Elser 
Signed-off-by: Sean Busbey 
---
 hbase-assembly/src/main/assembly/client-components.xml | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/hbase-assembly/src/main/assembly/client-components.xml 
b/hbase-assembly/src/main/assembly/client-components.xml
index 740e9bc..4bad0d4 100644
--- a/hbase-assembly/src/main/assembly/client-components.xml
+++ b/hbase-assembly/src/main/assembly/client-components.xml
@@ -26,6 +26,12 @@
 
   ${project.basedir}/../target/site
   docs
+  
+  
+**/*devapidocs/**
+  
 
 
 



[hbase] branch master updated: HBASE-24562: Stabilize master startup with meta replicas enabled (#1903)

2020-06-24 Thread wchevreuil
This is an automated email from the ASF dual-hosted git repository.

wchevreuil 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 8cdb2cc  HBASE-24562: Stabilize master startup with meta replicas 
enabled (#1903)
8cdb2cc is described below

commit 8cdb2cca4461d6adad3f44af001055848a205370
Author: BukrosSzabolcs 
AuthorDate: Wed Jun 24 19:38:36 2020 +0200

HBASE-24562: Stabilize master startup with meta replicas enabled (#1903)

Signed-off-by: Wellington Chevreuil 
Signed-off-by: Huaxiang Sun 
---
 .../org/apache/hadoop/hbase/master/HMaster.java|  6 +-
 .../hadoop/hbase/master/MasterMetaBootstrap.java   |  4 +-
 .../hbase/master/assignment/AssignmentManager.java | 34 ++-
 .../hadoop/hbase/client/TestMetaWithReplicas.java  | 70 ++
 4 files changed, 108 insertions(+), 6 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index 9fdb0e5..5a9404a 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -1166,7 +1166,11 @@ public class HMaster extends HRegionServer implements 
MasterServices {
 assignmentManager.checkIfShouldMoveSystemRegionAsync();
 status.setStatus("Assign meta replicas");
 MasterMetaBootstrap metaBootstrap = createMetaBootstrap();
-metaBootstrap.assignMetaReplicas();
+try {
+  metaBootstrap.assignMetaReplicas();
+} catch (IOException | KeeperException e){
+  LOG.error("Assigning meta replica failed: ", e);
+}
 status.setStatus("Starting quota manager");
 initQuotaManager();
 if (QuotaUtil.isQuotaEnabled(conf)) {
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 6e38bdd..ef12d07 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
@@ -81,9 +81,9 @@ class MasterMetaBootstrap {
   // down hosting server which calls AM#stop.
   if (metaState != null && metaState.getServerName() != null) {
 // Try to retain old assignment.
-assignmentManager.assign(hri, metaState.getServerName());
+assignmentManager.assignAsync(hri, metaState.getServerName());
   } else {
-assignmentManager.assign(hri);
+assignmentManager.assignAsync(hri);
   }
 }
 unassignExcessMetaReplica(numReplicas);
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
index ef6e30c..4c42237 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
@@ -595,9 +595,9 @@ public class AssignmentManager {
 }
   }
 
-  // TODO: Need an async version of this for hbck2.
-  public long assign(RegionInfo regionInfo, ServerName sn) throws IOException {
-// TODO: should we use getRegionStateNode?
+  private TransitRegionStateProcedure createAssignProcedure(RegionInfo 
regionInfo, ServerName sn)
+throws IOException {
+ // TODO: should we use getRegionStateNode?
 RegionStateNode regionNode = 
regionStates.getOrCreateRegionStateNode(regionInfo);
 TransitRegionStateProcedure proc;
 regionNode.lock();
@@ -608,6 +608,12 @@ public class AssignmentManager {
 } finally {
   regionNode.unlock();
 }
+return proc;
+  }
+
+  // TODO: Need an async version of this for hbck2.
+  public long assign(RegionInfo regionInfo, ServerName sn) throws IOException {
+TransitRegionStateProcedure proc = createAssignProcedure(regionInfo, sn);
 
ProcedureSyncWait.submitAndWaitProcedure(master.getMasterProcedureExecutor(), 
proc);
 return proc.getProcId();
   }
@@ -616,6 +622,28 @@ public class AssignmentManager {
 return assign(regionInfo, null);
   }
 
+  /**
+   * Submits a procedure that assigns a region to a target server without 
waiting for it to finish
+   * @param regionInfo the region we would like to assign
+   * @param sn target server name
+   * @return
+   * @throws IOException
+   */
+  public Future assignAsync(RegionInfo regionInfo, ServerName sn) 
throws IOException {
+TransitRegionStateProcedure proc = createAssignProcedure(regionInfo, sn);
+return 
ProcedureSyncWait.submitProcedure(master.getMasterProcedureExecutor(), proc);
+  }
+
+  /**
+   * Submits a procedure that assigns a region without waiting for it to finish
+   * @param 

[hbase] branch branch-1 updated: HBASE-24618 Backport HBASE-21204 to branch-1

2020-06-24 Thread achouhan
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/branch-1 by this push:
 new 54c38c8  HBASE-24618 Backport HBASE-21204 to branch-1
54c38c8 is described below

commit 54c38c840c25fd134cb8699c4954f0e506bd
Author: Abhishek Singh Chouhan 
AuthorDate: Tue Jun 23 17:43:42 2020 -0700

HBASE-24618 Backport HBASE-21204 to branch-1
---
 .../hbase/protobuf/generated/CellProtos.java   | 24 ++--
 hbase-protocol/src/main/protobuf/Cell.proto|  1 +
 .../hbase/client/TestScannersFromClientSide.java   | 26 ++
 3 files changed, 44 insertions(+), 7 deletions(-)

diff --git 
a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/CellProtos.java
 
b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/CellProtos.java
index 7fc4706..9c0ac9b 100644
--- 
a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/CellProtos.java
+++ 
b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/CellProtos.java
@@ -31,13 +31,17 @@ public final class CellProtos {
  */
 DELETE(2, 8),
 /**
+ * DELETE_FAMILY_VERSION = 10;
+ */
+DELETE_FAMILY_VERSION(3, 10),
+/**
  * DELETE_COLUMN = 12;
  */
-DELETE_COLUMN(3, 12),
+DELETE_COLUMN(4, 12),
 /**
  * DELETE_FAMILY = 14;
  */
-DELETE_FAMILY(4, 14),
+DELETE_FAMILY(5, 14),
 /**
  * MAXIMUM = 255;
  *
@@ -45,7 +49,7 @@ public final class CellProtos {
  * MAXIMUM is used when searching; you look from maximum on down.
  * 
  */
-MAXIMUM(5, 255),
+MAXIMUM(6, 255),
 ;
 
 /**
@@ -61,6 +65,10 @@ public final class CellProtos {
  */
 public static final int DELETE_VALUE = 8;
 /**
+ * DELETE_FAMILY_VERSION = 10;
+ */
+public static final int DELETE_FAMILY_VERSION_VALUE = 10;
+/**
  * DELETE_COLUMN = 12;
  */
 public static final int DELETE_COLUMN_VALUE = 12;
@@ -85,6 +93,7 @@ public final class CellProtos {
 case 0: return MINIMUM;
 case 4: return PUT;
 case 8: return DELETE;
+case 10: return DELETE_FAMILY_VERSION;
 case 12: return DELETE_COLUMN;
 case 14: return DELETE_FAMILY;
 case 255: return MAXIMUM;
@@ -2207,11 +2216,12 @@ public final class CellProtos {
   "\030\007 \001(\014\"\220\001\n\010KeyValue\022\013\n\003row\030\001 
\002(\014\022\016\n\006fami" +
   "ly\030\002 \002(\014\022\021\n\tqualifier\030\003 
\002(\014\022\021\n\ttimestamp" +
   "\030\004 \001(\004\022$\n\010key_type\030\005 
\001(\0162\022.hbase.pb.Cell" +
-  "Type\022\r\n\005value\030\006 \001(\014\022\014\n\004tags\030\007 
\001(\014*`\n\010Cel" +
+  "Type\022\r\n\005value\030\006 \001(\014\022\014\n\004tags\030\007 
\001(\014*{\n\010Cel" +
   
"lType\022\013\n\007MINIMUM\020\000\022\007\n\003PUT\020\004\022\n\n\006DELETE\020\010\022"
 +
-  
"\021\n\rDELETE_COLUMN\020\014\022\021\n\rDELETE_FAMILY\020\016\022\014\n",
-  "\007MAXIMUM\020\377\001B=\n*org.apache.hadoop.hbase.p" +
-  "rotobuf.generatedB\nCellProtosH\001\240\001\001"
+  "\031\n\025DELETE_FAMILY_VERSION\020\n\022\021\n\rDELETE_COL",
+  
"UMN\020\014\022\021\n\rDELETE_FAMILY\020\016\022\014\n\007MAXIMUM\020\377\001B="
 +
+  "\n*org.apache.hadoop.hbase.protobuf.gener" +
+  "atedB\nCellProtosH\001\240\001\001"
 };
 com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner 
assigner =
   new 
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
diff --git a/hbase-protocol/src/main/protobuf/Cell.proto 
b/hbase-protocol/src/main/protobuf/Cell.proto
index 2c61035..e518e65 100644
--- a/hbase-protocol/src/main/protobuf/Cell.proto
+++ b/hbase-protocol/src/main/protobuf/Cell.proto
@@ -32,6 +32,7 @@ enum CellType {
 PUT = 4;
 
 DELETE = 8;
+DELETE_FAMILY_VERSION = 10;
 DELETE_COLUMN = 12;
 DELETE_FAMILY = 14;
 
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java
index 7c23f0a..2558be2 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java
@@ -16,6 +16,8 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import static org.apache.hadoop.hbase.HConstants.RPC_CODEC_CONF_KEY;
+import static org.apache.hadoop.hbase.ipc.RpcClient.DEFAULT_CODEC_CLASS;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -575,6 +577,30 @@ public class TestScannersFromClientSide {
"Testing offset + 

[hbase] branch master updated (2210306 -> 82fad5d)

2020-06-24 Thread huaxiangsun
This is an automated email from the ASF dual-hosted git repository.

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


from 2210306  HBASE-24609 Move MetaTableAccessor out of hbase-client (#1943)
 add 82fad5d  HBASE-24552 Replica region needs to check if primary region 
directory exists at file system in TransitRegionStateProcedure (#1924)

No new revisions were added by this update.

Summary of changes:
 .../assignment/TransitRegionStateProcedure.java| 13 
 .../apache/hadoop/hbase/HBaseTestingUtility.java   | 19 +
 .../apache/hadoop/hbase/master/TestMetaFixer.java  | 36 +++--
 .../master/assignment/TestRegionReplicaSplit.java  | 87 +++---
 4 files changed, 103 insertions(+), 52 deletions(-)



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

2020-06-24 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 83fbee8  INFRA-10751 Empty commit
83fbee8 is described below

commit 83fbee863cb7dfc2726d3681dec71421c09b4c07
Author: jenkins 
AuthorDate: Wed Jun 24 14:48:36 2020 +

INFRA-10751 Empty commit



[hbase] branch HBASE-11288.splittable-meta updated (9d926cb -> 6f759aa)

2020-06-24 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

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


omit 9d926cb  HBASE-24388 Store the locations of meta regions in master 
local store (#1746)
 add 73ab216  HBASE-24594 : Separate resource allocation for 
TestReplicationStatusSink (#1934)
 add 8f1353b  Revert "HBASE-24403 FsDelegationToken Should Cache Token 
After Acquired A New One (#1743)"
 add 2b5ea44  HBASE-24611 : Bring back old constructor of 
SnapshotDescription as deprecated (#1944)
 add 2eeea12  HBASE-24604 Remove the stable-1 notice on our download page
 add 5a79a1c  HBASE-24102 : Undo visibility change for RegionMover fields 
(ADDENDUM)
 add 90b339a  HBASE-24567 Create release should url-encode all characters 
when building git uri
 add d46adc7  HBASE-24605 Break long region names in the web UI (#1942)
 add 500a1df  HBASE-23055 Alter hbase:meta (#1956)
 add 667f52b  HBASE-24231 Add hadoop 3.2.x in our support matrix (#1954)
 add b556343  HBASE-21773 - Addendum - Bring back "public static Job 
createSubmitta… (#1953)
 add 4b89ee2  HBASE-24431 RSGroupInfo add configuration map to store 
something extra (#1782)
 add 2210306  HBASE-24609 Move MetaTableAccessor out of hbase-client (#1943)
 new 6f759aa  HBASE-24388 Store the locations of meta regions in master 
local store (#1746)

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   (9d926cb)
\
 N -- N -- N   refs/heads/HBASE-11288.splittable-meta (6f759aa)

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 1 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:
 dev-support/create-release/release-util.sh |4 +-
 .../org/apache/hadoop/hbase/MetaTableAccessor.java | 1203 +---
 .../master/SnapshotOfRegionAssignmentFromMeta.java |8 +-
 .../apache/hadoop/hbase/CatalogFamilyFormat.java   |  366 ++
 ...eAccessor.java => ClientMetaTableAccessor.java} |  409 +++
 .../java/org/apache/hadoop/hbase/client/Admin.java |8 +
 .../hadoop/hbase/client/AdminOverAsyncAdmin.java   |6 +
 .../org/apache/hadoop/hbase/client/AsyncAdmin.java |8 +
 .../hadoop/hbase/client/AsyncHBaseAdmin.java   |6 +
 .../hbase/client/AsyncNonMetaRegionLocator.java|6 +-
 .../hbase/client/AsyncTableRegionLocatorImpl.java  |6 +-
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java|   73 +-
 .../hadoop/hbase/client/SnapshotDescription.java   |   45 +-
 .../hadoop/hbase/shaded/protobuf/ProtobufUtil.java |   16 +-
 .../hadoop/hbase/TestCatalogFamilyFormat.java  |   73 ++
 .../java/org/apache/hadoop/hbase/HConstants.java   |   11 +
 .../apache/hadoop/hbase/rsgroup/RSGroupInfo.java   |   32 +
 .../apache/hadoop/hbase/mapreduce/RowCounter.java  |   97 ++
 .../hadoop/hbase/mapreduce/TestRowCounter.java |  272 -
 .../src/main/protobuf/server/master/Master.proto   |3 +
 .../src/main/protobuf/server/rsgroup/RSGroup.proto |1 +
 .../protobuf/server/rsgroup/RSGroupAdmin.proto |8 +
 .../hadoop/hbase/coprocessor/MasterObserver.java   |   21 +
 .../apache/hadoop/hbase/master/CatalogJanitor.java |   10 +-
 .../org/apache/hadoop/hbase/master/HMaster.java|3 +-
 .../hadoop/hbase/master/MasterCoprocessorHost.java |   21 +
 .../hadoop/hbase/master/MasterMetaBootstrap.java   |5 +-
 .../hadoop/hbase/master/MasterRpcServices.java |   26 +
 .../hadoop/hbase/master/TableStateManager.java |   10 +-
 .../hbase/master/assignment/AssignmentManager.java |4 +-
 .../hbase/master/assignment/RegionStateStore.java  |   47 +-
 .../master/procedure/EnableTableProcedure.java |3 +-
 .../master/procedure/HBCKServerCrashProcedure.java |   11 +-
 .../hbase/master/webapp/RegionReplicaInfo.java |3 +-
 .../hbase/rsgroup/DisabledRSGroupInfoManager.java  |6 +
 .../hadoop/hbase/rsgroup/RSGroupInfoManager.java   |9 +
 .../hbase/rsgroup/RSGroupInfoManagerImpl.java  |8 +
 .../hbase/security/token/FsDelegationToken.java|   26 +-
 .../hadoop/hbase/tool/BulkLoadHFilesTool.java  |8 +-
 .../org/apache/hadoop/hbase/util/HBaseFsck.java|   21 +-
 .../org/apache/hadoop/hbase/util/RegionMover.java  |   12 +-
 

[hbase] 01/01: HBASE-24388 Store the locations of meta regions in master local store (#1746)

2020-06-24 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

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

commit 6f759aa4eb4fa58f9e588375c6a40940f61d1a63
Author: Duo Zhang 
AuthorDate: Wed May 27 11:30:37 2020 +0800

HBASE-24388 Store the locations of meta regions in master local store 
(#1746)

Signed-off-by: Guanghao Zhang 
Signed-off-by: stack 
---
 .../apache/hadoop/hbase/CatalogFamilyFormat.java   |  17 +++
 .../org/apache/hadoop/hbase/master/HMaster.java|  70 --
 .../hadoop/hbase/master/MasterMetaBootstrap.java   | 145 +
 .../hbase/master/assignment/AssignmentManager.java |  80 
 .../hbase/master/assignment/RegionStateStore.java  |  71 +-
 .../hbase/master/region/MasterRegionFactory.java   |   9 +-
 .../store/region/RegionProcedureStore.java |   5 +-
 .../hbase/master/TestCloseAnOpeningRegion.java |   8 +-
 .../hbase/master/TestClusterRestartFailover.java   |  12 +-
 .../master/assignment/MockMasterServices.java  |  32 +++--
 .../assignment/TestOpenRegionProcedureBackoff.java |  10 +-
 .../assignment/TestOpenRegionProcedureHang.java|  10 +-
 .../assignment/TestRaceBetweenSCPAndDTP.java   |  10 +-
 .../assignment/TestRaceBetweenSCPAndTRSP.java  |  10 +-
 .../TestRegionAssignedToMultipleRegionServers.java |  10 +-
 .../assignment/TestReportOnlineRegionsRace.java|  10 +-
 ...tReportRegionStateTransitionFromDeadServer.java |  10 +-
 .../TestReportRegionStateTransitionRetry.java  |  10 +-
 .../master/assignment/TestSCPGetRegionsRace.java   |  10 +-
 .../assignment/TestWakeUpUnexpectedProcedure.java  |  10 +-
 .../region/TestRegionProcedureStoreMigration.java  |   2 +-
 21 files changed, 365 insertions(+), 186 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/CatalogFamilyFormat.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/CatalogFamilyFormat.java
index cec43ae..a2c59de 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/CatalogFamilyFormat.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/CatalogFamilyFormat.java
@@ -27,6 +27,7 @@ import java.util.NavigableMap;
 import java.util.SortedMap;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.client.RegionInfoBuilder;
 import org.apache.hadoop.hbase.client.RegionReplicaUtil;
@@ -34,6 +35,7 @@ import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.TableState;
 import org.apache.hadoop.hbase.exceptions.DeserializationException;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
 import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -346,4 +348,19 @@ public class CatalogFamilyFormat {
   throw new IOException(e);
 }
   }
+
+  public static Delete removeRegionReplica(byte[] metaRow, int 
replicaIndexToDeleteFrom,
+int numReplicasToRemove) {
+int absoluteIndex = replicaIndexToDeleteFrom + numReplicasToRemove;
+long now = EnvironmentEdgeManager.currentTime();
+Delete deleteReplicaLocations = new Delete(metaRow);
+for (int i = replicaIndexToDeleteFrom; i < absoluteIndex; i++) {
+  deleteReplicaLocations.addColumns(HConstants.CATALOG_FAMILY, 
getServerColumn(i), now);
+  deleteReplicaLocations.addColumns(HConstants.CATALOG_FAMILY, 
getSeqNumColumn(i), now);
+  deleteReplicaLocations.addColumns(HConstants.CATALOG_FAMILY, 
getStartCodeColumn(i), now);
+  deleteReplicaLocations.addColumns(HConstants.CATALOG_FAMILY, 
getServerNameColumn(i), now);
+  deleteReplicaLocations.addColumns(HConstants.CATALOG_FAMILY, 
getRegionStateColumn(i), now);
+}
+return deleteReplicaLocations;
+  }
 }
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index 9fdb0e5..62b0fe9 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -59,6 +59,10 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CatalogFamilyFormat;
+import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellBuilderFactory;
+import org.apache.hadoop.hbase.CellBuilderType;
 import org.apache.hadoop.hbase.ChoreService;
 import org.apache.hadoop.hbase.ClusterId;
 import org.apache.hadoop.hbase.ClusterMetrics;
@@ -82,9 +86,11 @@ import org.apache.hadoop.hbase.UnknownRegionException;
 import org.apache.hadoop.hbase.client.Admin;
 import 

[hbase] branch master updated (4b89ee2 -> 2210306)

2020-06-24 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

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


from 4b89ee2  HBASE-24431 RSGroupInfo add configuration map to store 
something extra (#1782)
 add 2210306  HBASE-24609 Move MetaTableAccessor out of hbase-client (#1943)

No new revisions were added by this update.

Summary of changes:
 .../org/apache/hadoop/hbase/MetaTableAccessor.java | 1192 +---
 .../master/SnapshotOfRegionAssignmentFromMeta.java |8 +-
 .../apache/hadoop/hbase/CatalogFamilyFormat.java   |  349 ++
 ...eAccessor.java => ClientMetaTableAccessor.java} |  409 +++
 .../hbase/client/AsyncNonMetaRegionLocator.java|6 +-
 .../hbase/client/AsyncTableRegionLocatorImpl.java  |6 +-
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java|   52 +-
 .../hadoop/hbase/TestCatalogFamilyFormat.java  |   73 ++
 .../apache/hadoop/hbase/master/CatalogJanitor.java |   10 +-
 .../hadoop/hbase/master/TableStateManager.java |   10 +-
 .../hbase/master/assignment/AssignmentManager.java |4 +-
 .../hbase/master/assignment/RegionStateStore.java  |   48 +-
 .../master/procedure/EnableTableProcedure.java |3 +-
 .../master/procedure/HBCKServerCrashProcedure.java |   11 +-
 .../hbase/master/webapp/RegionReplicaInfo.java |3 +-
 .../org/apache/hadoop/hbase/util/HBaseFsck.java|   21 +-
 .../apache/hadoop/hbase/HBaseTestingUtility.java   |8 +-
 .../apache/hadoop/hbase/TestMetaTableAccessor.java |  382 +++
 .../hbase/client/TestAsyncRegionAdminApi2.java |   16 +-
 .../hbase/client/TestAsyncTableAdminApi.java   |   18 +-
 .../hbase/client/TestAsyncTableAdminApi3.java  |6 +-
 .../client/TestMetaTableAccessorNoCluster.java |   12 +-
 .../hbase/master/TestCatalogJanitorCluster.java|   14 +-
 .../master/TestCatalogJanitorInMemoryStates.java   |3 +-
 .../org/apache/hadoop/hbase/master/TestMaster.java |8 +-
 .../TestMasterOperationsForRegionReplicas.java |   18 +-
 .../hadoop/hbase/master/TestMasterTransitions.java |4 +-
 .../hadoop/hbase/master/TestRegionPlacement.java   |6 +-
 .../procedure/MasterProcedureTestingUtility.java   |6 +-
 .../hadoop/hbase/master/procedure/TestHBCKSCP.java |8 +-
 .../regionserver/TestEndToEndSplitTransaction.java |3 +-
 .../TestHBaseFsckCleanReplicationBarriers.java |   10 +-
 .../util/hbck/OfflineMetaRebuildTestCore.java  |3 +-
 .../hbase/thrift/ThriftHBaseServiceHandler.java|6 +-
 34 files changed, 1172 insertions(+), 1564 deletions(-)
 rename {hbase-client => 
hbase-balancer}/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java 
(59%)
 create mode 100644 
hbase-client/src/main/java/org/apache/hadoop/hbase/CatalogFamilyFormat.java
 rename 
hbase-client/src/main/java/org/apache/hadoop/hbase/{AsyncMetaTableAccessor.java 
=> ClientMetaTableAccessor.java} (50%)
 create mode 100644 
hbase-client/src/test/java/org/apache/hadoop/hbase/TestCatalogFamilyFormat.java



[hbase] branch master updated: HBASE-24431 RSGroupInfo add configuration map to store something extra (#1782)

2020-06-24 Thread zghao
This is an automated email from the ASF dual-hosted git repository.

zghao 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 4b89ee2  HBASE-24431 RSGroupInfo add configuration map to store 
something extra (#1782)
4b89ee2 is described below

commit 4b89ee24f33d6dc268a6910ea497e9d0a98a14a9
Author: XinSun 
AuthorDate: Wed Jun 24 18:46:09 2020 +0800

HBASE-24431 RSGroupInfo add configuration map to store something extra 
(#1782)

Signed-off-by: Duo Zhang 
Signed-off-by: Nick Dimiduk 
Signed-off-by: Guanghao Zhang 
---
 .../java/org/apache/hadoop/hbase/client/Admin.java |  8 ++
 .../hadoop/hbase/client/AdminOverAsyncAdmin.java   |  6 ++
 .../org/apache/hadoop/hbase/client/AsyncAdmin.java |  8 ++
 .../hadoop/hbase/client/AsyncHBaseAdmin.java   |  6 ++
 .../hadoop/hbase/client/RawAsyncHBaseAdmin.java| 21 +
 .../hadoop/hbase/shaded/protobuf/ProtobufUtil.java | 16 ++--
 .../apache/hadoop/hbase/rsgroup/RSGroupInfo.java   | 32 +++
 .../src/main/protobuf/server/master/Master.proto   |  3 +
 .../src/main/protobuf/server/rsgroup/RSGroup.proto |  1 +
 .../protobuf/server/rsgroup/RSGroupAdmin.proto |  8 ++
 .../hadoop/hbase/coprocessor/MasterObserver.java   | 21 +
 .../hadoop/hbase/master/MasterCoprocessorHost.java | 21 +
 .../hadoop/hbase/master/MasterRpcServices.java | 26 ++
 .../hbase/rsgroup/DisabledRSGroupInfoManager.java  |  6 ++
 .../hadoop/hbase/rsgroup/RSGroupInfoManager.java   |  9 ++
 .../hbase/rsgroup/RSGroupInfoManagerImpl.java  |  8 ++
 .../hadoop/hbase/rsgroup/TestRSGroupConfig.java| 99 ++
 .../hbase/rsgroup/VerifyingRSGroupAdmin.java   |  7 ++
 hbase-shell/src/main/ruby/hbase/rsgroup_admin.rb   | 37 
 hbase-shell/src/main/ruby/shell.rb |  2 +
 .../ruby/shell/commands/alter_rsgroup_config.rb| 38 +
 .../ruby/shell/commands/show_rsgroup_config.rb | 43 ++
 .../src/test/ruby/shell/rsgroup_shell_test.rb  | 14 +++
 .../hadoop/hbase/thrift2/client/ThriftAdmin.java   |  6 ++
 24 files changed, 441 insertions(+), 5 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
index c82b101..520a8fc 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
@@ -2428,4 +2428,12 @@ public interface Admin extends Abortable, Closeable {
*/
   void renameRSGroup(String oldName, String newName) throws IOException;
 
+  /**
+   * Update RSGroup configuration
+   * @param groupName the group name
+   * @param configuration new configuration of the group name to be set
+   * @throws IOException if a remote or network exception occurs
+   */
+  void updateRSGroupConfig(String groupName, Map 
configuration) throws IOException;
+
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AdminOverAsyncAdmin.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AdminOverAsyncAdmin.java
index 8f2d288..50dce89 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AdminOverAsyncAdmin.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AdminOverAsyncAdmin.java
@@ -1041,4 +1041,10 @@ class AdminOverAsyncAdmin implements Admin {
   public void renameRSGroup(String oldName, String newName) throws IOException 
{
 get(admin.renameRSGroup(oldName, newName));
   }
+
+  @Override
+  public void updateRSGroupConfig(String groupName, Map 
configuration)
+  throws IOException {
+get(admin.updateRSGroupConfig(groupName, configuration));
+  }
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java
index c6ef55c..10f2b8a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java
@@ -1639,4 +1639,12 @@ public interface AsyncAdmin {
* @throws IOException if a remote or network exception occurs
*/
   CompletableFuture renameRSGroup(String oldName, String newName);
+
+  /**
+   * Update RSGroup configuration
+   * @param groupName the group name
+   * @param configuration new configuration of the group name to be set
+   * @throws IOException if a remote or network exception occurs
+   */
+  CompletableFuture updateRSGroupConfig(String groupName, Map configuration);
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java
index 8b29ac9..704359f 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java
+++