Repository: hbase Updated Branches: refs/heads/HBASE-14614 d64de305f -> 8bfc2a221
WALSplitter was spewing log about skipped edits messing up my long-running test Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8bfc2a22 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8bfc2a22 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8bfc2a22 Branch: refs/heads/HBASE-14614 Commit: 8bfc2a221824894873b08c381f148063751df291 Parents: d64de30 Author: Michael Stack <st...@apache.org> Authored: Fri May 12 10:00:31 2017 -0700 Committer: Michael Stack <st...@apache.org> Committed: Fri May 12 10:00:31 2017 -0700 ---------------------------------------------------------------------- .../hbase/procedure2/ProcedureExecutor.java | 16 ++++++--------- .../hadoop/hbase/master/CatalogJanitor.java | 21 +++++++++----------- .../org/apache/hadoop/hbase/master/HMaster.java | 14 +++++++++---- .../apache/hadoop/hbase/wal/WALSplitter.java | 6 ++++-- 4 files changed, 29 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/8bfc2a22/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 fa3df04..258e268 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 @@ -1526,17 +1526,13 @@ public class ProcedureExecutor<TEnvironment> { } // If this procedure is the last child awake the parent procedure - if (LOG.isDebugEnabled()) { - LOG.debug("Finish suprocedure " + procedure); - } + LOG.info("Finish suprocedure " + procedure); if (parent.tryRunnable()) { // If we succeeded in making the parent runnable -- i.e. all of its // children have completed, move parent to front of the queue. store.update(parent); scheduler.addFront(parent); - if (LOG.isDebugEnabled()) { - LOG.debug("Finished subprocedure(s) of " + parent + "; resume parent processing."); - } + LOG.info("Finished subprocedure(s) of " + parent + "; resume parent processing."); return; } } @@ -1646,8 +1642,8 @@ public class ProcedureExecutor<TEnvironment> { if (this.activeProcedure == null) continue; int activeCount = activeExecutorCount.incrementAndGet(); int runningCount = store.setRunningProcedureCount(activeCount); - if (LOG.isDebugEnabled()) { - LOG.debug("Execute pid=" + this.activeProcedure.getProcId() + + if (LOG.isTraceEnabled()) { + LOG.trace("Execute pid=" + this.activeProcedure.getProcId() + " runningCount=" + runningCount + ", activeCount=" + activeCount); } executionStartTime.set(EnvironmentEdgeManager.currentTime()); @@ -1659,8 +1655,8 @@ public class ProcedureExecutor<TEnvironment> { } finally { activeCount = activeExecutorCount.decrementAndGet(); runningCount = store.setRunningProcedureCount(activeCount); - if (LOG.isDebugEnabled()) { - LOG.debug("Halt pid=" + this.activeProcedure.getProcId() + + if (LOG.isTraceEnabled()) { + LOG.trace("Halt pid=" + this.activeProcedure.getProcId() + " runningCount=" + runningCount + ", activeCount=" + activeCount); } this.activeProcedure = null; http://git-wip-us.apache.org/repos/asf/hbase/blob/8bfc2a22/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java index edd163c..2331d8f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java @@ -211,14 +211,12 @@ public class CatalogJanitor extends ScheduledChore { LOG.warn("Merged region does not exist: " + mergedRegion.getEncodedName()); } if (regionFs == null || !regionFs.hasReferences(htd)) { - LOG.debug("Deleting region " + regionA.getRegionNameAsString() + " and " - + regionB.getRegionNameAsString() + LOG.debug("Deleting region " + regionA.getShortNameToLog() + " and " + + regionB.getShortNameToLog() + " from fs because merged region no longer holds references"); ProcedureExecutor<MasterProcedureEnv> pe = this.services.getMasterProcedureExecutor(); - GCMergedRegionsProcedure proc = - new GCMergedRegionsProcedure(pe.getEnvironment(),mergedRegion, regionA, regionB); - proc.setOwner(pe.getEnvironment().getRequestUser().getShortName()); - pe.submitProcedure(proc); + pe.submitProcedure(new GCMergedRegionsProcedure(pe.getEnvironment(),mergedRegion, + regionA, regionB)); return true; } return false; @@ -254,10 +252,10 @@ public class CatalogJanitor extends ScheduledChore { HRegionInfo regionB = p.getSecond(); if (regionA == null || regionB == null) { LOG.warn("Unexpected references regionA=" - + (regionA == null ? "null" : regionA.getRegionNameAsString()) + + (regionA == null ? "null" : regionA.getShortNameToLog()) + ",regionB=" - + (regionB == null ? "null" : regionB.getRegionNameAsString()) - + " in merged region " + e.getKey().getRegionNameAsString()); + + (regionB == null ? "null" : regionB.getShortNameToLog()) + + " in merged region " + e.getKey().getShortNameToLog()); } else { if (cleanMergeRegion(e.getKey(), regionA, regionB)) { result++; @@ -345,11 +343,10 @@ public class CatalogJanitor extends ScheduledChore { Pair<Boolean, Boolean> b = checkDaughterInFs(parent, daughters.getSecond()); if (hasNoReferences(a) && hasNoReferences(b)) { LOG.debug("Deleting region " + parent.getShortNameToLog() + - " because daughters -- " + daughters.getFirst() + ", " + daughters.getSecond() + + " because daughters -- " + daughters.getFirst().getShortNameToLog() + ", " + + daughters.getSecond().getShortNameToLog() + " -- no longer hold references"); ProcedureExecutor<MasterProcedureEnv> pe = this.services.getMasterProcedureExecutor(); - GCRegionProcedure proc = new GCRegionProcedure(pe.getEnvironment(), parent); - proc.setOwner(pe.getEnvironment().getRequestUser().getShortName()); pe.submitProcedure(new GCRegionProcedure(pe.getEnvironment(), parent)); return true; } http://git-wip-us.apache.org/repos/asf/hbase/blob/8bfc2a22/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java index 9338e7b..0a2d1ba 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java @@ -1277,13 +1277,19 @@ public class HMaster extends HRegionServer implements MasterServices { // ignore the force flag in that case boolean metaInTransition = assignmentManager.isMetaRegionInTransition(); String prefix = force && !metaInTransition ? "R" : "Not r"; - LOG.debug(prefix + "unning balancer because " + regionsInTransition.size() + - " region(s) in transition: " + org.apache.commons.lang.StringUtils. - abbreviate(regionsInTransition.toString(), 256)); + List<RegionStateNode> toPrint = regionsInTransition; + int max = 5; + boolean truncated = false; + if (regionsInTransition.size() > max) { + toPrint = regionsInTransition.subList(0, max); + truncated = true; + } + LOG.info(prefix + "unning balancer because " + regionsInTransition.size() + + " region(s) in transition: " + toPrint + (truncated? "(truncated list)": "")); if (!force || metaInTransition) return false; } if (this.serverManager.areDeadServersInProgress()) { - LOG.debug("Not running balancer because processing dead regionserver(s): " + + LOG.info("Not running balancer because processing dead regionserver(s): " + this.serverManager.getDeadServers()); return false; } http://git-wip-us.apache.org/repos/asf/hbase/blob/8bfc2a22/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java index c24da29..2edec9f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java @@ -1595,8 +1595,10 @@ public class WALSplitter { if (wap == null) { wap = getWriterAndPath(logEntry); if (wap == null) { - if (LOG.isDebugEnabled()) { - LOG.debug("getWriterAndPath decided we don't need to write edits for " + logEntry); + if (LOG.isTraceEnabled()) { + // This log spews the full edit. Can be massive in the log. Enable only debugging + // WAL lost edit issues. + LOG.trace("getWriterAndPath decided we don't need to write edits for " + logEntry); } return; }