HBASE-23668 Master log start filling with "Flush journal status" messages"

This reverts commit fb9fa04da7.
i.e. reapplication of patch that was preamaturely applied.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
This commit is contained in:
stack 2020-01-09 15:35:43 -08:00
parent 56842d04d7
commit 8ca614857d
3 changed files with 22 additions and 10 deletions

View File

@ -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();
}
}
}

View File

@ -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

View File

@ -2431,7 +2431,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) {
@ -8903,4 +8903,4 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
}
}
}
}
}