hbase git commit: HBASE-20049 Region replicas of SPLIT and MERGED regions are kept in in-memory states until restarting master (Toshihiro Suzuki)

2018-02-22 Thread tedyu
Repository: hbase
Updated Branches:
  refs/heads/branch-2 991e163cc -> 8a22e4119


HBASE-20049 Region replicas of SPLIT and MERGED regions are kept in in-memory 
states until restarting master (Toshihiro Suzuki)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8a22e411
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8a22e411
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8a22e411

Branch: refs/heads/branch-2
Commit: 8a22e4119f511b0d149018e46db61f2166c7e8e7
Parents: 991e163
Author: tedyu 
Authored: Thu Feb 22 20:11:11 2018 -0800
Committer: tedyu 
Committed: Thu Feb 22 20:11:11 2018 -0800

--
 .../src/main/protobuf/MasterProcedure.proto |  1 +
 .../master/assignment/AssignmentManager.java| 10 -
 .../assignment/MergeTableRegionsProcedure.java  |  3 +-
 .../assignment/SplitTableRegionProcedure.java   |  3 +-
 .../master/assignment/UnassignProcedure.java| 39 ++--
 5 files changed, 48 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/8a22e411/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
--
diff --git a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto 
b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
index f9b8807..f988224 100644
--- a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
+++ b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
@@ -330,6 +330,7 @@ message UnassignRegionStateData {
   // server we will send the unassign rpc too.
   optional ServerName hosting_server = 5;
   optional bool force = 4 [default = false];
+  optional bool remove_after_unassigning = 6 [default = false];
 }
 
 enum MoveRegionState {

http://git-wip-us.apache.org/repos/asf/hbase/blob/8a22e411/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
--
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 97d8258..ff65f46 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
@@ -733,11 +733,17 @@ public class AssignmentManager implements ServerListener {
 
   UnassignProcedure createUnassignProcedure(final RegionInfo regionInfo,
   final ServerName destinationServer, final boolean force) {
+return createUnassignProcedure(regionInfo, destinationServer, force, 
false);
+  }
+
+  UnassignProcedure createUnassignProcedure(final RegionInfo regionInfo,
+  final ServerName destinationServer, final boolean force,
+  final boolean removeAfterUnassigning) {
 // If destinationServer is null, figure it.
 ServerName sn = destinationServer != null? destinationServer:
-  getRegionStates().getRegionState(regionInfo).getServerName();
+getRegionStates().getRegionState(regionInfo).getServerName();
 assert sn != null;
-UnassignProcedure proc = new UnassignProcedure(regionInfo, sn, force);
+UnassignProcedure proc = new UnassignProcedure(regionInfo, sn, force, 
removeAfterUnassigning);
 proc.setOwner(getProcedureEnvironment().getRequestUser().getShortName());
 return proc;
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/8a22e411/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
index c65dbe5..1c448dc 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
@@ -682,7 +682,8 @@ public class MergeTableRegionsProcedure
 for (int i = 0; i < regionsToMerge.length; ++i) {
   for (int j = 0; j < regionReplication; ++j) {
 final RegionInfo hri = 
RegionReplicaUtil.getRegionInfoForReplica(regionsToMerge[i], j);
-procs[procsIdx++] = 
env.getAssignmentManager().createUnassignProcedure(hri,null,true);
+procs[procsIdx++] = env.getAssignmentManager().
+createUnassignProcedure(hri, null, true, 
!RegionReplicaUtil.isDefaultReplica(hri));
   }
 }
 return procs;

http://git-wip-us.apache.org/repos/asf/hbase/blob/8a22e411/hbase-serve

hbase git commit: HBASE-20049 Region replicas of SPLIT and MERGED regions are kept in in-memory states until restarting master

2018-02-22 Thread tedyu
Repository: hbase
Updated Branches:
  refs/heads/master 51f7b75f1 -> 1bc996aa5


HBASE-20049 Region replicas of SPLIT and MERGED regions are kept in in-memory 
states until restarting master

Signed-off-by: tedyu 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1bc996aa
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1bc996aa
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1bc996aa

Branch: refs/heads/master
Commit: 1bc996aa505e4a064a5bdf6abd56f77591643072
Parents: 51f7b75
Author: Toshihiro Suzuki 
Authored: Thu Feb 22 17:45:51 2018 +0900
Committer: tedyu 
Committed: Thu Feb 22 20:06:21 2018 -0800

--
 .../src/main/protobuf/MasterProcedure.proto |  3 +-
 .../master/assignment/AssignmentManager.java| 10 -
 .../assignment/MergeTableRegionsProcedure.java  |  3 +-
 .../assignment/SplitTableRegionProcedure.java   |  3 +-
 .../master/assignment/UnassignProcedure.java| 39 ++--
 5 files changed, 49 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/1bc996aa/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
--
diff --git a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto 
b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
index 83099c3..1ab51e5 100644
--- a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
+++ b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
@@ -331,6 +331,7 @@ message UnassignRegionStateData {
   // server we will send the unassign rpc too.
   optional ServerName hosting_server = 5;
   optional bool force = 4 [default = false];
+  optional bool remove_after_unassigning = 6 [default = false];
 }
 
 enum MoveRegionState {
@@ -409,4 +410,4 @@ message AddPeerStateData {
 
 message UpdatePeerConfigStateData {
   required ReplicationPeer peer_config = 1;
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/hbase/blob/1bc996aa/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
--
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 97d8258..ff65f46 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
@@ -733,11 +733,17 @@ public class AssignmentManager implements ServerListener {
 
   UnassignProcedure createUnassignProcedure(final RegionInfo regionInfo,
   final ServerName destinationServer, final boolean force) {
+return createUnassignProcedure(regionInfo, destinationServer, force, 
false);
+  }
+
+  UnassignProcedure createUnassignProcedure(final RegionInfo regionInfo,
+  final ServerName destinationServer, final boolean force,
+  final boolean removeAfterUnassigning) {
 // If destinationServer is null, figure it.
 ServerName sn = destinationServer != null? destinationServer:
-  getRegionStates().getRegionState(regionInfo).getServerName();
+getRegionStates().getRegionState(regionInfo).getServerName();
 assert sn != null;
-UnassignProcedure proc = new UnassignProcedure(regionInfo, sn, force);
+UnassignProcedure proc = new UnassignProcedure(regionInfo, sn, force, 
removeAfterUnassigning);
 proc.setOwner(getProcedureEnvironment().getRequestUser().getShortName());
 return proc;
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/1bc996aa/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
index c65dbe5..1c448dc 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
@@ -682,7 +682,8 @@ public class MergeTableRegionsProcedure
 for (int i = 0; i < regionsToMerge.length; ++i) {
   for (int j = 0; j < regionReplication; ++j) {
 final RegionInfo hri = 
RegionReplicaUtil.getRegionInfoForReplica(regionsToMerge[i], j);
-procs[procsIdx++] = 
env.getAssignmentManager().createUnassignProcedure(hri,null,true);
+procs[procsIdx++] = env.getAssignmentManager().
+createUnassign