Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 3c5d01c3e -> 800505e7c


HBASE-16528 Procedure-V2: ServerCrashProcedure misses owner information 
(Stephen Yuan Jiang)

Conflicts:
        
hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java


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

Branch: refs/heads/branch-1.3
Commit: 800505e7c03a4bc36a512a9e8c71ddf0d2bd23b5
Parents: 3c5d01c
Author: Stephen Yuan Jiang <syuanjiang...@gmail.com>
Authored: Wed Aug 31 09:25:51 2016 -0700
Committer: Stephen Yuan Jiang <syuanjiang...@gmail.com>
Committed: Wed Aug 31 09:54:51 2016 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/master/ServerManager.java   | 12 ++++++++----
 .../hbase/master/procedure/ServerCrashProcedure.java    |  9 ++++++---
 .../org/apache/hadoop/hbase/master/TestDeadServer.java  |  6 ++++--
 .../master/procedure/TestMasterProcedureEvents.java     |  2 +-
 .../master/procedure/TestServerCrashProcedure.java      |  3 ++-
 5 files changed, 21 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/800505e7/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
index d30157d..fb98300 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
@@ -54,8 +54,10 @@ import 
org.apache.hadoop.hbase.client.RetriesExhaustedException;
 import org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController;
 import org.apache.hadoop.hbase.ipc.RpcControllerFactory;
 import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;
+import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
 import org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure;
 import org.apache.hadoop.hbase.monitoring.MonitoredTask;
+import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.protobuf.RequestConverter;
 import org.apache.hadoop.hbase.protobuf.ResponseConverter;
@@ -626,8 +628,9 @@ public class ServerManager {
 
     boolean carryingMeta = 
services.getAssignmentManager().isCarryingMeta(serverName) ==
         AssignmentManager.ServerHostRegion.HOSTING_REGION;
-    this.services.getMasterProcedureExecutor().
-      submitProcedure(new ServerCrashProcedure(serverName, true, 
carryingMeta));
+    ProcedureExecutor<MasterProcedureEnv> procExec = 
this.services.getMasterProcedureExecutor();
+    procExec.submitProcedure(new ServerCrashProcedure(
+      procExec.getEnvironment(), serverName, true, carryingMeta));
     LOG.debug("Added=" + serverName +
       " to dead servers, submitted shutdown handler to be executed meta=" + 
carryingMeta);
 
@@ -670,8 +673,9 @@ public class ServerManager {
     }
 
     this.deadservers.add(serverName);
-    this.services.getMasterProcedureExecutor().
-    submitProcedure(new ServerCrashProcedure(serverName, shouldSplitWal, 
false));
+    ProcedureExecutor<MasterProcedureEnv> procExec = 
this.services.getMasterProcedureExecutor();
+    procExec.submitProcedure(new ServerCrashProcedure(
+      procExec.getEnvironment(), serverName, shouldSplitWal, false));
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/800505e7/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
index 90addb2..bfe3cc6 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java
@@ -146,12 +146,15 @@ implements ServerProcedureInterface {
    * @param shouldSplitWal True if we should split WALs as part of crashed 
server processing.
    * @param carryingMeta True if carrying hbase:meta table region.
    */
-  public ServerCrashProcedure(final ServerName serverName,
-      final boolean shouldSplitWal, final boolean carryingMeta) {
+  public ServerCrashProcedure(
+      final MasterProcedureEnv env,
+      final ServerName serverName,
+      final boolean shouldSplitWal,
+      final boolean carryingMeta) {
     this.serverName = serverName;
     this.shouldSplitWal = shouldSplitWal;
     this.carryingMeta = carryingMeta;
-    // Currently not used.
+    this.setOwner(env.getRequestUser().getShortName());
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/800505e7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java
index 226d44d..ee8e173 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
 import org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure;
 import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
 import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;
@@ -98,8 +99,9 @@ public class TestDeadServer {
   @Test(timeout = 15000)
   public void testCrashProcedureReplay() {
     HMaster master = TEST_UTIL.getHBaseCluster().getMaster();
-    ProcedureExecutor pExecutor = master.getMasterProcedureExecutor();
-    ServerCrashProcedure proc = new ServerCrashProcedure(hostname123, false, 
false);
+    final ProcedureExecutor<MasterProcedureEnv> pExecutor = 
master.getMasterProcedureExecutor();
+    ServerCrashProcedure proc = new ServerCrashProcedure(
+      pExecutor.getEnvironment(), hostname123, false, false);
 
     ProcedureTestingUtility.submitAndWait(pExecutor, proc);
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/800505e7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java
index c1aa7c0..adf3e5c 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java
@@ -151,7 +151,7 @@ public class TestMasterProcedureEvents {
     
master.getServerManager().moveFromOnelineToDeadServers(hrs.getServerName());
 
     long procId = procExec.submitProcedure(
-      new ServerCrashProcedure(hrs.getServerName(), true, carryingMeta));
+      new ServerCrashProcedure(procExec.getEnvironment(), hrs.getServerName(), 
true, carryingMeta));
 
     for (int i = 0; i < 10; ++i) {
       Thread.sleep(100);

http://git-wip-us.apache.org/repos/asf/hbase/blob/800505e7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedure.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedure.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedure.java
index cafb0ed..3fc2889 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedure.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedure.java
@@ -120,7 +120,8 @@ public class TestServerCrashProcedure {
       ProcedureTestingUtility.waitNoProcedureRunning(procExec);
       ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, 
true);
       long procId =
-        procExec.submitProcedure(new ServerCrashProcedure(hrs.getServerName(), 
true, carryingMeta));
+        procExec.submitProcedure(new ServerCrashProcedure(
+          procExec.getEnvironment(), hrs.getServerName(), true, carryingMeta));
       // Now run through the procedure twice crashing the executor on each 
step...
       MasterProcedureTestingUtility.testRecoveryAndDoubleExecution(procExec, 
procId);
       // Assert all data came back.

Reply via email to