ACCUMULO-1821 don't record log events if the tablet is not online

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

Branch: refs/heads/master
Commit: 8683295fcf4e8732e8dc7625f97725cfe0662e1f
Parents: 73b39a0
Author: Eric Newton <[email protected]>
Authored: Mon Oct 28 16:04:15 2013 -0400
Committer: Eric Newton <[email protected]>
Committed: Mon Oct 28 16:04:15 2013 -0400

----------------------------------------------------------------------
 .../org/apache/accumulo/server/tabletserver/TabletServer.java | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/8683295f/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
----------------------------------------------------------------------
diff --git 
a/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
 
b/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
index bd31c15..92aabf3 100644
--- 
a/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
+++ 
b/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
@@ -2978,7 +2978,12 @@ public class TabletServer extends AbstractMetricsImpl 
implements org.apache.accu
 
   public void addLoggersToMetadata(List<DfsLogger> logs, KeyExtent extent, int 
id) {
     log.info("Adding " + logs.size() + " logs for extent " + extent + " as 
alias " + id);
-
+    if (!this.onlineTablets.containsKey(extent)) {
+      // minor compaction due to recovery... don't make updates... if it 
finishes, there will be no WALs,
+      // if it doesn't, we'll need to do the same recovery with the old files.
+      return;
+    }
+    
     long now = RelativeTime.currentTimeMillis();
     List<String> logSet = new ArrayList<String>();
     for (DfsLogger log : logs)

Reply via email to