X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fmessages%2FAppendEntriesReply.java;h=033a19a7b26e758a30430b902085649af4c886ef;hb=HEAD;hp=d9e6d9795712972af1890e5e243b06d6cf89d97b;hpb=10e35192bf210eeadcba20bd0c17a61bc8fd9716;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/AppendEntriesReply.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/AppendEntriesReply.java index d9e6d97957..033a19a7b2 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/AppendEntriesReply.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/messages/AppendEntriesReply.java @@ -18,6 +18,7 @@ import org.opendaylight.controller.cluster.raft.RaftVersions; * Reply for the AppendEntries message. */ public final class AppendEntriesReply extends AbstractRaftRPC { + @java.io.Serial private static final long serialVersionUID = -7487547356392536683L; // true if follower contained entry matching @@ -59,7 +60,7 @@ public final class AppendEntriesReply extends AbstractRaftRPC { needsLeaderAddress, RaftVersions.CURRENT_VERSION, recipientRaftVersion); } - private AppendEntriesReply(final String followerId, final long term, final boolean success, final long logLastIndex, + AppendEntriesReply(final String followerId, final long term, final boolean success, final long logLastIndex, final long logLastTerm, final short payloadVersion, final boolean forceInstallSnapshot, final boolean needsLeaderAddress, final short raftVersion, final short recipientRaftVersion) { super(term); @@ -117,13 +118,14 @@ public final class AppendEntriesReply extends AbstractRaftRPC { @Override Object writeReplace() { - return recipientRaftVersion > RaftVersions.BORON_VERSION ? new Proxy2(this) : new Proxy(this); + return recipientRaftVersion <= RaftVersions.FLUORINE_VERSION ? new Proxy2(this) : new AR(this); } /** * Fluorine version that adds the needsLeaderAddress flag. */ private static class Proxy2 implements Externalizable { + @java.io.Serial private static final long serialVersionUID = 1L; private AppendEntriesReply appendEntriesReply; @@ -168,57 +170,7 @@ public final class AppendEntriesReply extends AbstractRaftRPC { RaftVersions.CURRENT_VERSION); } - private Object readResolve() { - return appendEntriesReply; - } - } - - /** - * Pre-Fluorine version. - */ - @Deprecated - private static class Proxy implements Externalizable { - private static final long serialVersionUID = 1L; - - private AppendEntriesReply appendEntriesReply; - - // checkstyle flags the public modifier as redundant which really doesn't make sense since it clearly isn't - // redundant. It is explicitly needed for Java serialization to be able to create instances via reflection. - @SuppressWarnings("checkstyle:RedundantModifier") - public Proxy() { - } - - Proxy(final AppendEntriesReply appendEntriesReply) { - this.appendEntriesReply = appendEntriesReply; - } - - @Override - public void writeExternal(final ObjectOutput out) throws IOException { - out.writeShort(appendEntriesReply.raftVersion); - out.writeLong(appendEntriesReply.getTerm()); - out.writeObject(appendEntriesReply.followerId); - out.writeBoolean(appendEntriesReply.success); - out.writeLong(appendEntriesReply.logLastIndex); - out.writeLong(appendEntriesReply.logLastTerm); - out.writeShort(appendEntriesReply.payloadVersion); - out.writeBoolean(appendEntriesReply.forceInstallSnapshot); - } - - @Override - public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException { - short raftVersion = in.readShort(); - long term = in.readLong(); - String followerId = (String) in.readObject(); - boolean success = in.readBoolean(); - long logLastIndex = in.readLong(); - long logLastTerm = in.readLong(); - short payloadVersion = in.readShort(); - boolean forceInstallSnapshot = in.readBoolean(); - - appendEntriesReply = new AppendEntriesReply(followerId, term, success, logLastIndex, logLastTerm, - payloadVersion, forceInstallSnapshot, false, raftVersion, RaftVersions.CURRENT_VERSION); - } - + @java.io.Serial private Object readResolve() { return appendEntriesReply; }