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