Author: jdcryans
Date: Fri Feb 17 19:45:28 2012
New Revision: 1245726

URL: http://svn.apache.org/viewvc?rev=1245726&view=rev
Log:
HBASE-5393  Consider splitting after flushing

Modified:
    hbase/branches/0.92/CHANGES.txt
    
hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java

Modified: hbase/branches/0.92/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hbase/branches/0.92/CHANGES.txt?rev=1245726&r1=1245725&r2=1245726&view=diff
==============================================================================
--- hbase/branches/0.92/CHANGES.txt (original)
+++ hbase/branches/0.92/CHANGES.txt Fri Feb 17 19:45:28 2012
@@ -29,6 +29,7 @@ Release 0.92.1 - Unreleased
    HBASE-5197  [replication] Handle socket timeouts in ReplicationSource
                to prevent DDOS
    HBASE-5395  CopyTable needs to use GenericOptionsParser
+   HBASE-5393  Consider splitting after flushing
 
   TESTS
    HBASE-5223  TestMetaReaderEditor is missing call to CatalogTracker.stop()

Modified: 
hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
URL: 
http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java?rev=1245726&r1=1245725&r2=1245726&view=diff
==============================================================================
--- 
hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
 (original)
+++ 
hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
 Fri Feb 17 19:45:28 2012
@@ -397,9 +397,15 @@ class MemStoreFlusher extends HasThread 
      lock.lock();
     }
     try {
-      if (region.flushcache()) {
+      boolean shouldCompact = region.flushcache();
+      // We just want to check the size
+      boolean shouldSplit = region.checkSplit() != null;
+      if (shouldSplit) {
+        this.server.compactSplitThread.requestSplit(region);
+      } else if (shouldCompact) {
         server.compactSplitThread.requestCompaction(region, getName());
       }
+
       server.getMetrics().addFlush(region.getRecentFlushInfo());
     } catch (DroppedSnapshotException ex) {
       // Cache flush can fail in a few places. If it fails in a critical


Reply via email to