From 938dd1c2f80283c2aa37219ae8224204688a5124 Mon Sep 17 00:00:00 2001 From: stack Date: Thu, 9 Jan 2020 15:35:43 -0800 Subject: [PATCH] HBASE-23668 Master log start filling with "Flush journal status" messages" This reverts commit fb9fa04da72379431d13f22a7e5d8e75ae1267be. i.e. reapplication of patch that was preamaturely applied. Signed-off-by: Duo Zhang --- .../store/region/RegionFlusherAndCompactor.java | 17 ++++++++++++++--- .../store/region/RegionProcedureStore.java | 11 ++++++----- .../hadoop/hbase/regionserver/HRegion.java | 4 ++-- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionFlusherAndCompactor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionFlusherAndCompactor.java index 53bf66b49df..ee3dbade72b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionFlusherAndCompactor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionFlusherAndCompactor.java @@ -120,6 +120,8 @@ class RegionFlusherAndCompactor implements Closeable { flushThread.start(); compactExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder() .setNameFormat("Procedure-Region-Store-Compactor").setDaemon(true).build()); + LOG.info("Constructor flushSize={}, flushPerChanges={}, flushIntervalMs={}, " + + "compactMin=", flushSize, flushPerChanges, flushIntervalMs, compactMin); } // inject our flush related configurations @@ -130,6 +132,8 @@ class RegionFlusherAndCompactor implements Closeable { conf.setLong(HRegion.MEMSTORE_FLUSH_PER_CHANGES, flushPerChanges); long flushIntervalMs = conf.getLong(FLUSH_INTERVAL_MS_KEY, DEFAULT_FLUSH_INTERVAL_MS); conf.setLong(HRegion.MEMSTORE_PERIODIC_FLUSH_INTERVAL, flushIntervalMs); + LOG.info("Injected flushSize={}, flushPerChanges={}, flushIntervalMs={}", flushSize, + flushPerChanges, flushIntervalMs); } private void compact() { @@ -180,6 +184,7 @@ class RegionFlusherAndCompactor implements Closeable { changesAfterLastFlush.set(0); try { region.flush(true); + lastFlushTime = EnvironmentEdgeManager.currentTime(); } catch (IOException e) { LOG.error(HBaseMarkers.FATAL, "Failed to flush procedure store region, aborting...", e); abortable.abort("Failed to flush procedure store region", e); @@ -207,8 +212,14 @@ class RegionFlusherAndCompactor implements Closeable { } private boolean shouldFlush(long changes) { - return region.getMemStoreHeapSize() + region.getMemStoreOffHeapSize() >= flushSize || - changes > flushPerChanges; + long heapSize = region.getMemStoreHeapSize(); + long offHeapSize = region.getMemStoreOffHeapSize(); + boolean flush = heapSize + offHeapSize >= flushSize || changes > flushPerChanges; + if (flush && LOG.isTraceEnabled()) { + LOG.trace("shouldFlush totalMemStoreSize={}, flushSize={}, changes={}, flushPerChanges={}", + heapSize + offHeapSize, flushSize, changes, flushPerChanges); + } + return flush; } void onUpdate() { @@ -237,4 +248,4 @@ class RegionFlusherAndCompactor implements Closeable { flushThread.interrupt(); compactExecutor.shutdown(); } -} \ No newline at end of file +} diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStore.java index 05a50592def..52d856663b5 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStore.java @@ -306,7 +306,7 @@ public class RegionProcedureStore extends ProcedureStoreBase { if (!fs.exists(procWALDir)) { return; } - LOG.info("The old procedure wal directory {} exists, start migrating", procWALDir); + LOG.info("The old WALProcedureStore wal directory {} exists, migrating...", procWALDir); WALProcedureStore store = new WALProcedureStore(conf, leaseRecovery); store.start(numThreads); store.recoverLease(); @@ -347,7 +347,7 @@ public class RegionProcedureStore extends ProcedureStoreBase { } } }); - LOG.info("The max pid is {}, and the max pid of all loaded procedures is {}", + LOG.info("The WALProcedureStore max pid is {}, and the max pid of all loaded procedures is {}", maxProcIdSet.longValue(), maxProcIdFromProcs.longValue()); // Theoretically, the maxProcIdSet should be greater than or equal to maxProcIdFromProcs, but // anyway, let's do a check here. @@ -358,12 +358,13 @@ public class RegionProcedureStore extends ProcedureStoreBase { PROC_QUALIFIER, EMPTY_BYTE_ARRAY)); } } else if (maxProcIdSet.longValue() < maxProcIdFromProcs.longValue()) { - LOG.warn("The max pid is less than the max pid of all loaded procedures"); + LOG.warn("The WALProcedureStore max pid is less than the max pid of all loaded procedures"); } if (!fs.delete(procWALDir, true)) { - throw new IOException("Failed to delete the migrated proc wal directory " + procWALDir); + throw new IOException("Failed to delete the WALProcedureStore migrated proc wal directory " + + procWALDir); } - LOG.info("Migration finished"); + LOG.info("Migration of WALProcedureStore finished"); } @Override diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index a55e2fe069c..dac034d3be7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -2401,7 +2401,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi flushesQueued.reset(); } - status.markComplete("Flush successful"); + status.markComplete("Flush successful " + fs.toString()); return fs; } finally { synchronized (writestate) { @@ -8871,4 +8871,4 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi } } } -} \ No newline at end of file +}