X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fmessages%2FAppendEntries.java;h=4d4b7e4fdd8204bc29dd8a66667a47913e2aca18;hb=4ecb8ecaf04594b3312a44d801423f515ea445b3;hp=487ea9b09db22ebce3d4d16d2dbc185dd61b0063;hpb=660c3e22ca97bc613ea6f6288503620bba6fb233;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/AppendEntries.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/AppendEntries.java index 487ea9b09d..4d4b7e4fdd 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/AppendEntries.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/AppendEntries.java @@ -8,14 +8,16 @@ package org.opendaylight.controller.cluster.raft.messages; +import com.google.common.base.Preconditions; import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import java.util.ArrayList; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.controller.cluster.raft.ReplicatedLogEntry; -import org.opendaylight.controller.cluster.raft.ReplicatedLogImplEntry; +import org.opendaylight.controller.cluster.raft.persisted.SimpleReplicatedLogEntry; import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload; /** @@ -35,7 +37,7 @@ public class AppendEntries extends AbstractRaftRPC { private final long prevLogTerm; // log entries to store (empty for heart beat - may send more than one for efficiency) - private transient List entries; + private final List entries; // leader's commitIndex private final long leaderCommit; @@ -45,18 +47,20 @@ public class AppendEntries extends AbstractRaftRPC { private final short payloadVersion; - public AppendEntries(long term, String leaderId, long prevLogIndex, long prevLogTerm, - List entries, long leaderCommit, long replicatedToAllIndex, short payloadVersion) { + public AppendEntries(long term, @Nonnull String leaderId, long prevLogIndex, long prevLogTerm, + @Nonnull List entries, long leaderCommit, long replicatedToAllIndex, + short payloadVersion) { super(term); - this.leaderId = leaderId; + this.leaderId = Preconditions.checkNotNull(leaderId); this.prevLogIndex = prevLogIndex; this.prevLogTerm = prevLogTerm; - this.entries = entries; + this.entries = Preconditions.checkNotNull(entries); this.leaderCommit = leaderCommit; this.replicatedToAllIndex = replicatedToAllIndex; this.payloadVersion = payloadVersion; } + @Nonnull public String getLeaderId() { return leaderId; } @@ -69,6 +73,7 @@ public class AppendEntries extends AbstractRaftRPC { return prevLogTerm; } + @Nonnull public List getEntries() { return entries; } @@ -87,12 +92,13 @@ public class AppendEntries extends AbstractRaftRPC { @Override public String toString() { - StringBuilder builder = new StringBuilder(); - builder.append("AppendEntries [leaderId=").append(leaderId).append(", prevLogIndex=").append(prevLogIndex) - .append(", prevLogTerm=").append(prevLogTerm).append(", leaderCommit=").append(leaderCommit) - .append(", replicatedToAllIndex=").append(replicatedToAllIndex).append(", payloadVersion=") - .append(payloadVersion).append(", entries=").append(entries).append("]"); - return builder.toString(); + return "AppendEntries [leaderId=" + leaderId + + ", prevLogIndex=" + prevLogIndex + + ", prevLogTerm=" + prevLogTerm + + ", leaderCommit=" + leaderCommit + + ", replicatedToAllIndex=" + replicatedToAllIndex + + ", payloadVersion=" + payloadVersion + + ", entries=" + entries + "]"; } private Object writeReplace() { @@ -145,7 +151,7 @@ public class AppendEntries extends AbstractRaftRPC { int size = in.readInt(); List entries = new ArrayList<>(size); for (int i = 0; i < size; i++) { - entries.add(new ReplicatedLogImplEntry(in.readLong(), in.readLong(), (Payload) in.readObject())); + entries.add(new SimpleReplicatedLogEntry(in.readLong(), in.readLong(), (Payload) in.readObject())); } appendEntries = new AppendEntries(term, leaderId, prevLogIndex, prevLogTerm, entries, leaderCommit,