You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jd...@apache.org on 2009/03/06 16:43:29 UTC
svn commit: r750943 - in /hadoop/hbase/branches/0.19: CHANGES.txt
src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java
Author: jdcryans
Date: Fri Mar 6 15:43:29 2009
New Revision: 750943
URL: http://svn.apache.org/viewvc?rev=750943&view=rev
Log:
HBASE-1238 Under upload, region servers are unable
to compact when loaded with hundreds of regions
This is a hack, compactions may run prematurely.
Modified:
hadoop/hbase/branches/0.19/CHANGES.txt
hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java
Modified: hadoop/hbase/branches/0.19/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/CHANGES.txt?rev=750943&r1=750942&r2=750943&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.19/CHANGES.txt Fri Mar 6 15:43:29 2009
@@ -18,6 +18,8 @@
HBASE-1233 Transactional fixes: Overly conservative scan read-set,
potential CME (Clint Morgan via Stack)
HBASE-1185 wrong request/sec in the gui reporting wrong
+ HBASE-1238 Under upload, region servers are unable
+ to compact when loaded with hundreds of regions
IMPROVEMENTS
HBASE-845 HCM.isTableEnabled doesn't really tell if it is, or not
Modified: hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java?rev=750943&r1=750942&r2=750943&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java (original)
+++ hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/MemcacheFlusher.java Fri Mar 6 15:43:29 2009
@@ -21,6 +21,7 @@
import java.io.IOException;
import java.lang.management.ManagementFactory;
+import java.util.ArrayList;
import java.util.ConcurrentModificationException;
import java.util.HashSet;
import java.util.SortedMap;
@@ -268,6 +269,7 @@
private synchronized void flushSomeRegions() {
// keep flushing until we hit the low water mark
long globalMemcacheSize = -1;
+ ArrayList<HRegion> regionsToCompact = new ArrayList();
for (SortedMap<Long, HRegion> m =
this.server.getCopyOfOnlineRegionsSortedBySize();
(globalMemcacheSize = server.getGlobalMemcacheSize()) >=
@@ -292,6 +294,10 @@
LOG.warn("Flush failed");
break;
}
+ regionsToCompact.add(biggestMemcacheRegion);
+ }
+ for (HRegion region : regionsToCompact) {
+ server.compactSplitThread.compactionRequested(region, getName());
}
}
}