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%2FReplicatedLogImpl.java;h=1cfe1538699b9748557b385c92c7f81e2b536756;hb=2d62916cb1f4b4045f4fc38fbd313f8339f9ac67;hp=fdb630538130aa2ac1bfcdac43b6f5ad3808a1ba;hpb=c58a4036d120482ce18f247bb1b283193cab60d1;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImpl.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImpl.java index fdb6305381..1cfe153869 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImpl.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImpl.java @@ -11,7 +11,7 @@ import akka.japi.Procedure; import java.util.Collections; import java.util.List; import org.opendaylight.controller.cluster.DataPersistenceProvider; -import org.opendaylight.controller.cluster.raft.RaftActor.DeleteEntries; +import org.opendaylight.controller.cluster.raft.base.messages.DeleteEntries; import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior; /** @@ -27,11 +27,7 @@ class ReplicatedLogImpl extends AbstractReplicatedLogImpl { private final Procedure deleteProcedure = new Procedure() { @Override - public void apply(DeleteEntries param) { - dataSize = 0; - for (ReplicatedLogEntry entry : journal) { - dataSize += entry.size(); - } + public void apply(DeleteEntries notUsed) { } }; @@ -57,16 +53,11 @@ class ReplicatedLogImpl extends AbstractReplicatedLogImpl { @Override public void removeFromAndPersist(long logEntryIndex) { - int adjustedIndex = adjustedIndex(logEntryIndex); - - if (adjustedIndex < 0) { - return; - } - // FIXME: Maybe this should be done after the command is saved - journal.subList(adjustedIndex , journal.size()).clear(); - - persistence.persist(new DeleteEntries(adjustedIndex), deleteProcedure); + long adjustedIndex = removeFrom(logEntryIndex); + if(adjustedIndex >= 0) { + persistence.persist(new DeleteEntries(adjustedIndex), deleteProcedure); + } } @Override @@ -83,7 +74,7 @@ class ReplicatedLogImpl extends AbstractReplicatedLogImpl { } // FIXME : By adding the replicated log entry to the in-memory journal we are not truly ensuring durability of the logs - journal.add(replicatedLogEntry); + append(replicatedLogEntry); // When persisting events with persist it is guaranteed that the // persistent actor will not receive further commands between the @@ -96,8 +87,7 @@ class ReplicatedLogImpl extends AbstractReplicatedLogImpl { public void apply(ReplicatedLogEntry evt) throws Exception { int logEntrySize = replicatedLogEntry.size(); - dataSize += logEntrySize; - long dataSizeForCheck = dataSize; + long dataSizeForCheck = dataSize(); dataSizeSinceLastSnapshot += logEntrySize;