From 2987febc16a1e0393bb6d18a97a269363ba1625d Mon Sep 17 00:00:00 2001 From: Michael Stack Date: Thu, 4 Dec 2008 23:05:28 +0000 Subject: [PATCH] HBASE-1027 Make global flusher check work with percentages rather than...; moved synchronized so only global flush if testing thread finds we are over limit; everythread that went in was flushing git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@723481 13f79535-47bb-0310-9956-ffa450edef68 --- .../hadoop/hbase/regionserver/MemcacheFlusher.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java b/src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java index 953064d1850..4245b265b14 100644 --- a/src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java +++ b/src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java @@ -249,15 +249,14 @@ class MemcacheFlusher extends Thread implements FlushRequester { * to the lower limit. This method blocks callers until we're down to a safe * amount of memcache consumption. */ - public void reclaimMemcacheMemory() { + public synchronized void reclaimMemcacheMemory() { if (server.getGlobalMemcacheSize() >= globalMemcacheLimit) { flushSomeRegions(); } } /* - * Emergency! Need to flush memory. While running this method all updates - * to this regionserver are blocked. + * Emergency! Need to flush memory. */ private synchronized void flushSomeRegions() { // keep flushing until we hit the low water mark @@ -277,7 +276,8 @@ class MemcacheFlusher extends Thread implements FlushRequester { } HRegion biggestMemcacheRegion = m.remove(m.firstKey()); LOG.info("Forced flushing of " + biggestMemcacheRegion.toString() + - " because global memcache limit of " + this.globalMemcacheLimit + + " because global memcache limit of " + + StringUtils.humanReadableInt(this.globalMemcacheLimit) + " exceeded; currently " + StringUtils.humanReadableInt(globalMemcacheSize) + " and flushing till " + StringUtils.humanReadableInt(this.globalMemcacheLimitLowMark)); @@ -287,4 +287,4 @@ class MemcacheFlusher extends Thread implements FlushRequester { } } } -} \ No newline at end of file +}