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) {