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