Author: stack
Date: Mon Sep 20 18:43:13 2010
New Revision: 999046

URL: http://svn.apache.org/viewvc?rev=999046&view=rev
Log:
HBASE-3015 recovered.edits files not deleted if it only contain edits that have 
already been flushed; hurts perf for all future opens of the region

Modified:
    hbase/trunk/CHANGES.txt
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Modified: hbase/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=999046&r1=999045&r2=999046&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Mon Sep 20 18:43:13 2010
@@ -527,6 +527,9 @@ Release 0.21.0 - Unreleased
                calls severly impacting performance
                (Kannan Muthukkaruppan via Stack)
    HBASE-3010  Can't start/stop/start... cluster using new master
+   HBASE-3015  recovered.edits files not deleted if it only contain edits that
+               have already been flushed; hurts perf for all future opens of
+               the region
 
   IMPROVEMENTS
    HBASE-1760  Cleanup TODOs in HTable

Modified: 
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: 
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=999046&r1=999045&r2=999046&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 
Mon Sep 20 18:43:13 2010
@@ -1763,12 +1763,13 @@ public class HRegion implements HeapSize
     if (seqid > minSeqId) {
       // Then we added some edits to memory. Flush and cleanup split edit 
files.
       internalFlushcache(null, seqid);
-      for (Path file: files) {
-        if (!this.fs.delete(file, false)) {
-          LOG.error("Failed delete of " + file);
-        } else {
-          LOG.debug("Deleted recovered.edits file=" + file);
-        }
+    }
+    // Now delete the content of recovered edits.  We're done w/ them.
+    for (Path file: files) {
+      if (!this.fs.delete(file, false)) {
+        LOG.error("Failed delete of " + file);
+      } else {
+        LOG.debug("Deleted recovered.edits file=" + file);
       }
     }
     return seqid;


Reply via email to