You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2009/07/16 21:15:22 UTC
svn commit: r794788 - in /hadoop/hbase/trunk: CHANGES.txt
src/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
Author: stack
Date: Thu Jul 16 19:15:22 2009
New Revision: 794788
URL: http://svn.apache.org/viewvc?rev=794788&view=rev
Log:
HBASE-1663 Request compaction only once instead of every time 500ms each time we cycle the hstore.getStorefilesCount() > this.blockingStoreFilesNumber loop
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=794788&r1=794787&r2=794788&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Thu Jul 16 19:15:22 2009
@@ -267,6 +267,9 @@
anymore
HBASE-1658 Remove UI refresh -- its annoying
HBASE-1659 merge tool doesnt take binary regions with \x escape format
+ HBASE-1663 Request compaction only once instead of every time 500ms each
+ time we cycle the hstore.getStorefilesCount() >
+ this.blockingStoreFilesNumber loop
IMPROVEMENTS
HBASE-1089 Add count of regions on filesystem to master UI; add percentage
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java?rev=794788&r1=794787&r2=794788&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java Thu Jul 16 19:15:22 2009
@@ -229,13 +229,12 @@
finished = true;
for (Store hstore: region.stores.values()) {
if (hstore.getStorefilesCount() > this.blockingStoreFilesNumber) {
- // always request a compaction
- server.compactSplitThread.compactionRequested(region, getName());
// only log once
if (!triggered) {
LOG.info("Too many store files for region " + region + ": " +
hstore.getStorefilesCount() + ", requesting compaction and " +
"waiting");
+ this.server.compactSplitThread.compactionRequested(region, getName());
triggered = true;
}
// pending compaction, not finished
@@ -247,16 +246,17 @@
}
}
}
- if(triggered && finished) {
+ if (triggered && finished) {
LOG.info("Compaction has completed, we waited " + (count * 500) + "ms, "
+ "finishing flush of region " + region);
break;
}
}
- if(triggered && !finished) {
+ if (triggered && !finished) {
LOG.warn("Tried to hold up flushing for compactions of region " + region +
" but have waited longer than " + blockingWaitTime + "ms, continuing");
}
+
synchronized (regionsInQueue) {
// See comment above for removeFromQueue on why we do not
// take the region out of the set. If removeFromQueue is true, remove it