Repository: hbase
Updated Branches:
  refs/heads/branch-2 c67f7f14e -> f32d3e1e2


HBASE-21327 Fix minor logging issue where we don't report servername if no 
associated SCP

Signed-off-by: Duo Zhang <[email protected]>


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

Branch: refs/heads/branch-2
Commit: f32d3e1e2c92a9bed84be0305a8d7640e0ffcd0c
Parents: c67f7f1
Author: Michael Stack <[email protected]>
Authored: Tue Oct 16 21:21:02 2018 -0700
Committer: Michael Stack <[email protected]>
Committed: Wed Oct 17 09:38:26 2018 -0700

----------------------------------------------------------------------
 .../hbase/master/RegionServerTracker.java       |  4 ++--
 .../master/balancer/StochasticLoadBalancer.java | 21 ++++++++------------
 .../procedure/MasterProcedureScheduler.java     |  5 ++++-
 3 files changed, 14 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/f32d3e1e/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java
index b2aedf0..f419732 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java
@@ -126,8 +126,8 @@ public class RegionServerTracker extends ZKListener {
     // deadServersFromPE is made from a list of outstanding 
ServerCrashProcedures.
     // splittingServersFromWALDir are being actively split -- the directory in 
the FS ends in
     // '-SPLITTING'. Each splitting server should have a corresponding SCP. 
Log if not.
-    splittingServersFromWALDir.stream().map(s -> 
!deadServersFromPE.contains(s)).
-        forEach(s -> LOG.error("{} has no matching ServerCrashProcedure", s));
+    splittingServersFromWALDir.stream().filter(s -> 
!deadServersFromPE.contains(s)).
+      forEach(s -> LOG.error("{} has no matching ServerCrashProcedure", s));
     watcher.registerListener(this);
     synchronized (this) {
       List<String> servers =

http://git-wip-us.apache.org/repos/asf/hbase/blob/f32d3e1e/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
index ba080a3..d134690 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
@@ -431,21 +431,16 @@ public class StochasticLoadBalancer extends 
BaseLoadBalancer {
     updateStochasticCosts(tableName, curOverallCost, curFunctionCosts);
     if (initCost > currentCost) {
       plans = createRegionPlans(cluster);
-      if (LOG.isDebugEnabled()) {
-        LOG.debug("Finished computing new load balance plan.  Computation took 
"
-            + (endTime - startTime) + "ms to try " + step
-            + " different iterations.  Found a solution that moves "
-            + plans.size() + " regions; Going from a computed cost of "
-            + initCost + " to a new cost of " + currentCost);
-      }
-
+      LOG.info("Finished computing new load balance plan. Computation took {}" 
+
+        " to try {} different iterations.  Found a solution that moves " +
+        "{} regions; Going from a computed cost of {}" +
+        " to a new cost of {}", java.time.Duration.ofMillis(endTime - 
startTime),
+        step, plans.size(), initCost, currentCost);
       return plans;
     }
-    if (LOG.isDebugEnabled()) {
-      LOG.debug("Could not find a better load balance plan.  Tried "
-          + step + " different configurations in " + (endTime - startTime)
-          + "ms, and did not find anything with a computed cost less than " + 
initCost);
-    }
+    LOG.info("Could not find a better load balance plan.  Tried {} different 
configurations in " +
+      "{}, and did not find anything with a computed cost less than {}", step,
+      java.time.Duration.ofMillis(endTime - startTime), initCost);
     return null;
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/f32d3e1e/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java
index 0d38531..f7f5593 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java
@@ -687,7 +687,6 @@ public class MasterProcedureScheduler extends 
AbstractProcedureScheduler {
       boolean hasLock = true;
       final LockAndQueue[] regionLocks = new LockAndQueue[regionInfo.length];
       for (int i = 0; i < regionInfo.length; ++i) {
-        LOG.info("{} checking lock on {}", procedure, 
regionInfo[i].getEncodedName());
         assert regionInfo[i] != null;
         assert regionInfo[i].getTable() != null;
         assert regionInfo[i].getTable().equals(table): regionInfo[i] + " " + 
procedure;
@@ -695,12 +694,16 @@ public class MasterProcedureScheduler extends 
AbstractProcedureScheduler {
 
         regionLocks[i] = locking.getRegionLock(regionInfo[i].getEncodedName());
         if (!regionLocks[i].tryExclusiveLock(procedure)) {
+          LOG.info("Waiting on xlock for {} held by pid={}", procedure,
+              regionLocks[i].getExclusiveLockProcIdOwner());
           waitProcedure(regionLocks[i], procedure);
           hasLock = false;
           while (i-- > 0) {
             regionLocks[i].releaseExclusiveLock(procedure);
           }
           break;
+        } else {
+          LOG.info("Took xlock for {}", procedure);
         }
       }
 

Reply via email to