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-1828 - Raft apply state missing index log should be of type warn and not...
[controller.git]
/
opendaylight
/
md-sal
/
sal-akka-raft
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
raft
/
behaviors
/
AbstractRaftActorBehavior.java
diff --git
a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java
b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java
index 707c5321f5e23aef38f9ae4768ee42a19fde86c2..86447509d7b28a4df5559dfac8d02a02c0baa2b8 100644
(file)
--- a/
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java
+++ b/
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java
@@
-127,6
+127,9
@@
public abstract class AbstractRaftActorBehavior implements RaftActorBehavior {
protected RaftState requestVote(ActorRef sender,
RequestVote requestVote) {
protected RaftState requestVote(ActorRef sender,
RequestVote requestVote) {
+
+ context.getLogger().debug(requestVote.toString());
+
boolean grantVote = false;
// Reply false if term < currentTerm (§5.1)
boolean grantVote = false;
// Reply false if term < currentTerm (§5.1)
@@
-302,6
+305,7
@@
public abstract class AbstractRaftActorBehavior implements RaftActorBehavior {
* @param index a log index that is known to be committed
*/
protected void applyLogToStateMachine(final long index) {
* @param index a log index that is known to be committed
*/
protected void applyLogToStateMachine(final long index) {
+ long newLastApplied = context.getLastApplied();
// Now maybe we apply to the state machine
for (long i = context.getLastApplied() + 1;
i < index + 1; i++) {
// Now maybe we apply to the state machine
for (long i = context.getLastApplied() + 1;
i < index + 1; i++) {
@@
-317,17
+321,21
@@
public abstract class AbstractRaftActorBehavior implements RaftActorBehavior {
context.getReplicatedLog().get(i);
if (replicatedLogEntry != null) {
context.getReplicatedLog().get(i);
if (replicatedLogEntry != null) {
+ // Send a local message to the local RaftActor (it's derived class to be
+ // specific to apply the log to it's index)
actor().tell(new ApplyState(clientActor, identifier,
replicatedLogEntry), actor());
actor().tell(new ApplyState(clientActor, identifier,
replicatedLogEntry), actor());
+ newLastApplied = i;
} else {
} else {
- context.getLogger().error(
- "Missing index " + i + " from log. Cannot apply state.");
+ //if one index is not present in the log, no point in looping
+ // around as the rest wont be present either
+ context.getLogger().warning(
+ "Missing index {} from log. Cannot apply state. Ignoring {} to {}", i, i, index );
+ break;
}
}
}
}
- // Send a local message to the local RaftActor (it's derived class to be
- // specific to apply the log to it's index)
- context.getLogger().info("Setting last applied to {}", index);
- context.setLastApplied(index);
+ context.getLogger().debug("Setting last applied to {}", newLastApplied);
+ context.setLastApplied(newLastApplied);
}
protected Object fromSerializableMessage(Object serializable){
}
protected Object fromSerializableMessage(Object serializable){