You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by ms...@apache.org on 2019/03/27 15:49:50 UTC
[incubator-ratis] branch master updated: RATIS-490. Logging
Improvements with MultiRaft. Contributed by Mukul Kumar Singh.
This is an automated email from the ASF dual-hosted git repository.
msingh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ratis.git
The following commit(s) were added to refs/heads/master by this push:
new 1240266 RATIS-490. Logging Improvements with MultiRaft. Contributed by Mukul Kumar Singh.
1240266 is described below
commit 1240266c25ee2a9a3b23d08451a1194c900041df
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