Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "BUG 2799: Migration of Message Bus from deprecated Helium MD-SAL APIs to Lithi...
[controller.git]
/
opendaylight
/
md-sal
/
sal-akka-raft
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
raft
/
AbstractReplicatedLogImpl.java
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 d1c3fefee8309208a6df6fe9b539a10ee000ddef..1aecc89eeafa2b746f4e751f9869ed68d1229bee 100644
(file)
--- 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
@@
-7,6
+7,7
@@
*/
package org.opendaylight.controller.cluster.raft;
*/
package org.opendaylight.controller.cluster.raft;
+import com.google.common.base.Preconditions;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@
-41,7
+42,7
@@
public abstract class AbstractReplicatedLogImpl implements ReplicatedLog {
}
protected int adjustedIndex(long logEntryIndex) {
}
protected int adjustedIndex(long logEntryIndex) {
- if
(snapshotIndex < 0)
{
+ if
(snapshotIndex < 0)
{
return (int) logEntryIndex;
}
return (int) (logEntryIndex - (snapshotIndex + 1));
return (int) logEntryIndex;
}
return (int) (logEntryIndex - (snapshotIndex + 1));
@@
-134,6
+135,11
@@
public abstract class AbstractReplicatedLogImpl implements ReplicatedLog {
return journal.size();
}
return journal.size();
}
+ @Override
+ public int dataSize() {
+ return dataSize;
+ }
+
@Override
public boolean isPresent(long logEntryIndex) {
if (logEntryIndex > lastIndex()) {
@Override
public boolean isPresent(long logEntryIndex) {
if (logEntryIndex > lastIndex()) {
@@
-182,9
+188,14
@@
public abstract class AbstractReplicatedLogImpl implements ReplicatedLog {
@Override
public void snapshotPreCommit(long snapshotCapturedIndex, long snapshotCapturedTerm) {
@Override
public void snapshotPreCommit(long snapshotCapturedIndex, long snapshotCapturedTerm) {
+ Preconditions.checkArgument(snapshotCapturedIndex >= snapshotIndex,
+ "snapshotCapturedIndex must be greater than or equal to snapshotIndex");
+
snapshottedJournal = new ArrayList<>(journal.size());
snapshottedJournal = new ArrayList<>(journal.size());
- snapshottedJournal.addAll(journal.subList(0, (int)(snapshotCapturedIndex - snapshotIndex)));
+ List<ReplicatedLogEntry> snapshotJournalEntries = journal.subList(0, (int) (snapshotCapturedIndex - snapshotIndex));
+
+ snapshottedJournal.addAll(snapshotJournalEntries);
clear(0, (int) (snapshotCapturedIndex - snapshotIndex));
previousSnapshotIndex = snapshotIndex;
clear(0, (int) (snapshotCapturedIndex - snapshotIndex));
previousSnapshotIndex = snapshotIndex;
@@
-200,6
+211,11
@@
public abstract class AbstractReplicatedLogImpl implements ReplicatedLog {
previousSnapshotIndex = -1;
previousSnapshotTerm = -1;
dataSize = 0;
previousSnapshotIndex = -1;
previousSnapshotTerm = -1;
dataSize = 0;
+ // need to recalc the datasize based on the entries left after precommit.
+ for(ReplicatedLogEntry logEntry : journal) {
+ dataSize += logEntry.size();
+ }
+
}
@Override
}
@Override