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%2FAbstractReplicatedLogImpl.java;h=d1c3fefee8309208a6df6fe9b539a10ee000ddef;hb=22c6645e0793c65ba1f0c1004d79cf83e770d765;hp=a2c9d660ad8d2472f7b9a83ab3f175b1883ad1f6;hpb=d7ce37f576bcf35aa29665db89cadf854487f338;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/AbstractReplicatedLogImpl.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/AbstractReplicatedLogImpl.java index a2c9d660ad..d1c3fefee8 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/AbstractReplicatedLogImpl.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/AbstractReplicatedLogImpl.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.cluster.raft; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -19,13 +20,14 @@ public abstract class AbstractReplicatedLogImpl implements ReplicatedLog { // We define this as ArrayList so we can use ensureCapacity. protected ArrayList journal; - protected long snapshotIndex = -1; - protected long snapshotTerm = -1; + private long snapshotIndex = -1; + private long snapshotTerm = -1; // to be used for rollback during save snapshot failure - protected ArrayList snapshottedJournal; - protected long previousSnapshotIndex = -1; - protected long previousSnapshotTerm = -1; + private ArrayList snapshottedJournal; + private long previousSnapshotIndex = -1; + private long previousSnapshotTerm = -1; + protected int dataSize = 0; public AbstractReplicatedLogImpl(long snapshotIndex, long snapshotTerm, List unAppliedEntries) { @@ -35,7 +37,7 @@ public abstract class AbstractReplicatedLogImpl implements ReplicatedLog { } public AbstractReplicatedLogImpl() { - this.journal = new ArrayList<>(); + this(-1L, -1L, Collections.emptyList()); } protected int adjustedIndex(long logEntryIndex) { @@ -115,19 +117,18 @@ public abstract class AbstractReplicatedLogImpl implements ReplicatedLog { public List getFrom(long logEntryIndex, int max) { int adjustedIndex = adjustedIndex(logEntryIndex); int size = journal.size(); - List entries = new ArrayList<>(100); if (adjustedIndex >= 0 && adjustedIndex < size) { // physical index should be less than list size and >= 0 int maxIndex = adjustedIndex + max; if(maxIndex > size){ maxIndex = size; } - entries.addAll(journal.subList(adjustedIndex, maxIndex)); + return new ArrayList<>(journal.subList(adjustedIndex, maxIndex)); + } else { + return Collections.emptyList(); } - return entries; } - @Override public long size() { return journal.size(); @@ -198,6 +199,7 @@ public abstract class AbstractReplicatedLogImpl implements ReplicatedLog { snapshottedJournal = null; previousSnapshotIndex = -1; previousSnapshotTerm = -1; + dataSize = 0; } @Override