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); - } } }