You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2013/12/21 04:24:54 UTC

[2/2] git commit: ACCUMULO-2080 made tserver use uuid when checking if a walog to be removed is in use

ACCUMULO-2080 made tserver use uuid when checking if a walog to be removed is in use


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

Branch: refs/heads/1.6.0-SNAPSHOT
Commit: 3aace980689967414aa2fd390c4e00dff1db11ca
Parents: bed8071
Author: Keith Turner <kt...@apache.org>
Authored: Fri Dec 20 22:12:58 2013 -0500
Committer: Keith Turner <kt...@apache.org>
Committed: Fri Dec 20 22:20:01 2013 -0500

----------------------------------------------------------------------
 .../java/org/apache/accumulo/tserver/Tablet.java  |  4 ++--
 .../org/apache/accumulo/tserver/TabletServer.java | 18 +++++++++++-------
 .../accumulo/tserver/log/TabletServerLogger.java  |  6 +++---
 3 files changed, 16 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/3aace980/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java
index d904037..f0fb524 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java
@@ -3682,11 +3682,11 @@ public class Tablet {
 
   private Set<DfsLogger> currentLogs = new HashSet<DfsLogger>();
 
-  public Set<String> getCurrentLogs() {
+  public Set<String> getCurrentLogFiles() {
     Set<String> result = new HashSet<String>();
     synchronized (currentLogs) {
       for (DfsLogger log : currentLogs) {
-        result.add(log.toString());
+        result.add(log.getFileName());
       }
     }
     return result;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/3aace980/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
index 322a1a5..d2b01ac 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
@@ -2451,20 +2451,24 @@ public class TabletServer extends AbstractMetricsImpl implements org.apache.accu
       String myname = getClientAddressString();
       myname = myname.replace(':', '+');
       Set<String> loggers = new HashSet<String>();
-      logger.getLoggers(loggers);
+      logger.getLogFiles(loggers);
+      Set<String> loggerUUIDs = new HashSet<String>();
+      for (String logger : loggers)
+        loggerUUIDs.add(new Path(logger).getName());
+
       nextFile: for (String filename : filenames) {
+        String uuid = new Path(filename).getName();
         // skip any log we're currently using
-        for (String logger : loggers) {
-          if (logger.contains(filename))
-            continue nextFile;
-        }
+        if (loggerUUIDs.contains(uuid))
+          continue nextFile;
+
         List<Tablet> onlineTabletsCopy = new ArrayList<Tablet>();
         synchronized (onlineTablets) {
           onlineTabletsCopy.addAll(onlineTablets.values());
         }
         for (Tablet tablet : onlineTabletsCopy) {
-          for (String current : tablet.getCurrentLogs()) {
-            if (current.contains(filename)) {
+          for (String current : tablet.getCurrentLogFiles()) {
+            if (current.contains(uuid)) {
               log.info("Attempted to delete " + filename + " from tablet " + tablet.getExtent());
               continue nextFile;
             }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/3aace980/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
index 7fd2766..a276a97 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
@@ -36,9 +36,9 @@ import org.apache.accumulo.core.data.Mutation;
 import org.apache.accumulo.core.util.UtilWaitThread;
 import org.apache.accumulo.server.fs.VolumeManager;
 import org.apache.accumulo.tserver.Tablet;
+import org.apache.accumulo.tserver.Tablet.CommitSession;
 import org.apache.accumulo.tserver.TabletMutations;
 import org.apache.accumulo.tserver.TabletServer;
-import org.apache.accumulo.tserver.Tablet.CommitSession;
 import org.apache.accumulo.tserver.log.DfsLogger.LoggerOperation;
 import org.apache.hadoop.fs.Path;
 import org.apache.log4j.Logger;
@@ -161,11 +161,11 @@ public class TabletServerLogger {
     return result[0];
   }
   
-  public void getLoggers(Set<String> loggersOut) {
+  public void getLogFiles(Set<String> loggersOut) {
     logSetLock.readLock().lock();
     try {
       for (DfsLogger logger : loggers) {
-        loggersOut.add(logger.toString());
+        loggersOut.add(logger.getFileName());
       }
     } finally {
       logSetLock.readLock().unlock();