ACCUMULO-1914 make WALog cleanup after recovery an atomic mutation

Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/2640ea9d
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/2640ea9d
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/2640ea9d

Branch: refs/heads/1.5.1-SNAPSHOT
Commit: 2640ea9d926f771274ed10efd23e7400a483f6c0
Parents: 3f633bf
Author: Eric Newton <eric.new...@gmail.com>
Authored: Thu Nov 21 12:19:01 2013 -0500
Committer: Eric Newton <eric.new...@gmail.com>
Committed: Thu Nov 21 12:55:51 2013 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/server/util/MetadataTable.java  | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/2640ea9d/src/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
----------------------------------------------------------------------
diff --git 
a/src/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java 
b/src/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
index 9c4eebf..a9b72e0 100644
--- 
a/src/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
+++ 
b/src/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
@@ -991,8 +991,8 @@ public class MetadataTable extends 
org.apache.accumulo.core.util.MetadataTable {
   }
   
   public static void removeUnusedWALEntries(KeyExtent extent, List<LogEntry> 
logEntries, ZooLock zooLock) {
-    for (LogEntry entry : logEntries) {
-      if (entry.extent.equals(Constants.ROOT_TABLET_EXTENT)) {
+      if (extent.equals(Constants.ROOT_TABLET_EXTENT)) {
+        for (LogEntry entry : logEntries) {
         String root = getZookeeperLogLocation();
         while (true) {
           try {
@@ -1005,11 +1005,13 @@ public class MetadataTable extends 
org.apache.accumulo.core.util.MetadataTable {
           }
           UtilWaitThread.sleep(1000);
         }
+        }
       } else {
-        Mutation m = new Mutation(entry.extent.getMetadataEntry());
-        m.putDelete(Constants.METADATA_LOG_COLUMN_FAMILY, new 
Text(entry.server + "/" + entry.filename));
+        Mutation m = new Mutation(extent.getMetadataEntry());
+        for (LogEntry entry : logEntries) {
+          m.putDelete(Constants.METADATA_LOG_COLUMN_FAMILY, new 
Text(entry.server + "/" + entry.filename));
+        }
         update(SecurityConstants.getSystemCredentials(), zooLock, m);
-      }
     }
   }
   

Reply via email to