Repository: hbase
Updated Branches:
  refs/heads/HBASE-14614 a23fcc97d -> d64de305f


MoveRegionProcedure was not passing its Region to super class. NPEs when
locking.


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

Branch: refs/heads/HBASE-14614
Commit: d64de305fd162c2b502a6d5bdc477f51e32f1e6c
Parents: a23fcc9
Author: Michael Stack <st...@apache.org>
Authored: Thu May 11 20:22:33 2017 -0700
Committer: Michael Stack <st...@apache.org>
Committed: Thu May 11 20:22:33 2017 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java    | 2 +-
 .../apache/hadoop/hbase/master/assignment/AssignmentManager.java | 4 +---
 .../hadoop/hbase/master/assignment/MoveRegionProcedure.java      | 3 ++-
 .../master/procedure/AbstractStateMachineTableProcedure.java     | 3 +++
 4 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d64de305/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
----------------------------------------------------------------------
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
index f065a98..fa3df04 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
@@ -1669,7 +1669,7 @@ public class ProcedureExecutor<TEnvironment> {
           }
         }
       } catch (Throwable t) {
-        LOG.warn("Worker terminating because....", t);
+        LOG.warn("Worker terminating UNNATURALLY " + this.activeProcedure, t);
       } finally {
         LOG.debug("Worker terminated.");
       }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d64de305/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 e567d2d..eceb624 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
@@ -720,9 +720,7 @@ public class AssignmentManager implements ServerListener {
   }
 
   public MoveRegionProcedure createMoveRegionProcedure(final RegionPlan plan) {
-    MoveRegionProcedure proc = new MoveRegionProcedure(plan);
-    proc.setOwner(getProcedureEnvironment().getRequestUser().getShortName());
-    return proc;
+    return new MoveRegionProcedure(getProcedureEnvironment(), plan);
   }
 
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/d64de305/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
index 6cc04e4..f998af8 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
@@ -52,7 +52,8 @@ public class MoveRegionProcedure extends 
AbstractStateMachineRegionProcedure<Mov
     super();
   }
 
-  public MoveRegionProcedure(final RegionPlan plan) {
+  public MoveRegionProcedure(final MasterProcedureEnv env, final RegionPlan 
plan) {
+    super(env, plan.getRegionInfo());
     assert plan.getDestination() != null: plan.toString();
     this.plan = plan;
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d64de305/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java
index eca963d..1417159 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java
@@ -50,6 +50,9 @@ public abstract class 
AbstractStateMachineTableProcedure<TState>
     this(env, null);
   }
 
+  /**
+   * @param env Uses this to set Procedure Owner at least.
+   */
   protected AbstractStateMachineTableProcedure(final MasterProcedureEnv env,
       final ProcedurePrepareLatch latch) {
     if (env != null) {

Reply via email to