ACCUMULO-3767 current log might be null

A server might not have a current log. Account
for that, specifically for getActiveLogs().


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

Branch: refs/heads/master
Commit: 2b48d1cc48e8c494f1f537790d71a8ab716a21f4
Parents: 4d1acd1
Author: Josh Elser <els...@apache.org>
Authored: Thu Apr 30 23:38:08 2015 -0400
Committer: Josh Elser <els...@apache.org>
Committed: Thu Apr 30 23:38:08 2015 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/accumulo/tserver/TabletServer.java  | 4 ++++
 .../org/apache/accumulo/tserver/log/TabletServerLogger.java  | 8 ++++++++
 2 files changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/2b48d1cc/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 aeb73b4..96f33aa 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
@@ -1716,6 +1716,10 @@ public class TabletServer extends AccumuloServerContext 
implements Runnable {
     @Override
     public List<String> getActiveLogs(TInfo tinfo, TCredentials credentials) 
throws TException {
       String log = logger.getLogFile();
+      // Might be null if there no active logger
+      if (null == log) {
+        return Collections.emptyList();
+      }
       return Collections.singletonList(log);
     }
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/2b48d1cc/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 bc77ffb..a2ab551 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
@@ -180,9 +180,17 @@ public class TabletServerLogger {
     return result.get();
   }
 
+  /**
+   * Get the current WAL file
+   *
+   * @return The name of the current log, or null if there is no current log.
+   */
   public String getLogFile() {
     logIdLock.readLock().lock();
     try {
+      if (null == currentLog) {
+        return null;
+      }
       return currentLog.getFileName();
     } finally {
       logIdLock.readLock().unlock();

Reply via email to