You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by sz...@apache.org on 2019/03/28 06:12:53 UTC

[incubator-ratis] branch branch-0.3 updated: RATIS-490. Logging Improvements with MultiRaft. Contributed by Mukul Kumar Singh.

This is an automated email from the ASF dual-hosted git repository.

szetszwo pushed a commit to branch branch-0.3
in repository https://gitbox.apache.org/repos/asf/incubator-ratis.git


The following commit(s) were added to refs/heads/branch-0.3 by this push:
     new 29d314e  RATIS-490. Logging Improvements with MultiRaft.  Contributed by Mukul Kumar Singh.
29d314e is described below

commit 29d314ea9ceeed25da1ed825cbb9a29a41319c8f
Author: Mukul Kumar Singh <ms...@apache.org>
AuthorDate: Wed Mar 27 21:18:58 2019 +0530

    RATIS-490. Logging Improvements with MultiRaft.  Contributed by Mukul Kumar Singh.
---
 .../org/apache/ratis/server/impl/FollowerState.java   |  4 ++--
 .../org/apache/ratis/server/impl/LogAppender.java     |  8 ++++----
 .../org/apache/ratis/server/impl/RaftServerImpl.java  |  6 +++---
 .../org/apache/ratis/server/impl/ServerState.java     | 19 +++++++++++--------
 .../apache/ratis/server/impl/StateMachineUpdater.java |  2 +-
 5 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerState.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerState.java
index 4e5fbbf..f5d55dd 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerState.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/FollowerState.java
@@ -97,8 +97,8 @@ class FollowerState extends Daemon {
         }
         synchronized (server) {
           if (outstandingOp.get() == 0 && lastRpcTime.elapsedTimeMs() >= electionTimeout) {
-            LOG.info("{} changes to CANDIDATE, lastRpcTime:{}, electionTimeout:{}ms",
-                server.getId(), lastRpcTime.elapsedTimeMs(), electionTimeout);
+            LOG.info("{}:{} changes to CANDIDATE, lastRpcTime:{}, electionTimeout:{}ms",
+                server.getId(), server.getGroupId(), lastRpcTime.elapsedTimeMs(), electionTimeout);
             // election timeout, should become a candidate
             server.changeToCandidate();
             break;
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/LogAppender.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/LogAppender.java
index 1892410..17a4073 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/LogAppender.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/LogAppender.java
@@ -356,8 +356,8 @@ public class LogAppender {
 
     if (reply != null) {
       follower.setSnapshotIndex(snapshot.getTermIndex().getIndex());
-      LOG.info("{}: install snapshot-{} successfully on follower {}",
-          server.getId(), snapshot.getTermIndex().getIndex(), follower.getPeer());
+      LOG.info("{}:{} install snapshot-{} successfully on follower {}",
+          server.getId(), server.getGroupId(), snapshot.getTermIndex().getIndex(), follower.getPeer());
     }
     return reply;
   }
@@ -383,9 +383,9 @@ public class LogAppender {
       if (shouldSendRequest()) {
         SnapshotInfo snapshot = shouldInstallSnapshot();
         if (snapshot != null) {
-          LOG.info("{}: follower {}'s next index is {}," +
+          LOG.info("{}:{} follower {}'s next index is {}," +
               " log's start index is {}, need to install snapshot",
-              server.getId(), follower.getPeer(), follower.getNextIndex(),
+              server.getId(), server.getGroupId(), follower.getPeer(), follower.getNextIndex(),
               raftLog.getStartIndex());
 
           final InstallSnapshotReplyProto r = installSnapshot(snapshot);
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
index 95cb50c..fe26d45 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
@@ -157,8 +157,8 @@ public class RaftServerImpl implements RaftServerProtocol, RaftServerAsynchronou
   }
 
   private void setRole(RaftPeerRole newRole, Object reason) {
-    LOG.info("{} changes role from {} to {} at term {} for {}",
-        getId(), this.role, newRole, state.getCurrentTerm(), reason);
+    LOG.info("{}:{} changes role from {} to {} at term {} for {}",
+        getId(), getGroupId(), this.role, newRole, state.getCurrentTerm(), reason);
     this.role.transitionRole(newRole);
   }
 
@@ -1012,7 +1012,7 @@ public class RaftServerImpl implements RaftServerProtocol, RaftServerAsynchronou
       }
     }
     if (request.getDone()) {
-      LOG.info("{}: successfully install the whole snapshot-{}", getId(),
+      LOG.info("{}:{} successfully install the whole snapshot-{}", getId(), getGroupId(),
           lastIncludedIndex);
     }
     return ServerProtoUtils.toInstallSnapshotReplyProto(leaderId, getId(), groupId,
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
index 1fd8a20..ee4ede9 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerState.java
@@ -50,6 +50,7 @@ import static org.apache.ratis.server.impl.RaftServerImpl.LOG;
  */
 public class ServerState implements Closeable {
   private final RaftPeerId selfId;
+  private final RaftGroupId groupId;
   private final RaftServerImpl server;
   /** Raft log */
   private final RaftLog log;
@@ -89,11 +90,12 @@ public class ServerState implements Closeable {
               RaftServerImpl server, StateMachine stateMachine)
       throws IOException {
     this.selfId = id;
+    this.groupId = group.getGroupId();
     this.server = server;
     RaftConfiguration initialConf = RaftConfiguration.newBuilder()
         .setConf(group.getPeers()).build();
     configurationManager = new ConfigurationManager(initialConf);
-    LOG.info("{}: {}", id, configurationManager);
+    LOG.info("{}:{} {}", id, groupId, configurationManager);
 
     // use full uuid string to create a subdirectory
     final File dir = chooseStorageDir(RaftServerConfigKeys.storageDirs(prop),
@@ -146,9 +148,9 @@ public class ServerState implements Closeable {
         .orElseThrow(() -> new IOException("No storage directory found."));
   }
 
-  private long initStatemachine(StateMachine sm, RaftGroupId groupId)
+  private long initStatemachine(StateMachine sm, RaftGroupId gid)
       throws IOException {
-    sm.initialize(server.getProxy(), groupId, storage);
+    sm.initialize(server.getProxy(), gid, storage);
     storage.setStateMachineStorage(sm.getStateMachineStorage());
     SnapshotInfo snapshot = sm.getLatestSnapshot();
 
@@ -255,8 +257,8 @@ public class ServerState implements Closeable {
         lastNoLeaderTime = null;
         suffix = ", leader elected after " + previous.elapsedTimeMs() + "ms";
       }
-      LOG.info("{}: change Leader from {} to {} at term {} for {}{}",
-          selfId, leaderId, newLeaderId, getCurrentTerm(), op, suffix);
+      LOG.info("{}:{} change Leader from {} to {} at term {} for {}{}",
+          selfId, groupId, leaderId, newLeaderId, getCurrentTerm(), op, suffix);
       leaderId = newLeaderId;
     }
   }
@@ -351,7 +353,8 @@ public class ServerState implements Closeable {
   void setRaftConf(long logIndex, RaftConfiguration conf) {
     configurationManager.addConfiguration(logIndex, conf);
     server.getServerRpc().addPeers(conf.getPeers());
-    LOG.info("{}: set configuration {} at {}", getSelfId(), conf, logIndex);
+    LOG.info("{}:{} set configuration {} at {}", getSelfId(), groupId, conf,
+        logIndex);
     LOG.trace("{}: {}", getSelfId(), configurationManager);
   }
 
@@ -383,8 +386,8 @@ public class ServerState implements Closeable {
       LOG.warn(getSelfId() +
           ": Interrupted when joining stateMachineUpdater", e);
     }
-    LOG.info("{} closes. The last applied log index is {}",
-        getSelfId(), getLastAppliedIndex());
+    LOG.info("{}:{} closes. The last applied log index is {}",
+        getSelfId(), groupId, getLastAppliedIndex());
 
     log.close();
     storage.close();
diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineUpdater.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineUpdater.java
index d00e19a..c80e6ba 100644
--- a/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineUpdater.java
+++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/StateMachineUpdater.java
@@ -122,7 +122,7 @@ class StateMachineUpdater implements Runnable {
 
   @Override
   public String toString() {
-    return this.getClass().getSimpleName() + "-" + raftLog.getSelfId();
+    return this.getClass().getSimpleName() + "-" + raftLog.getSelfId() + "-" + server.getGroupId();
   }
 
   @Override