[DEBUG] [06/26/2025 14:32:03.410] [main] [EventStream(pekko://test)] logger log1-TestEventListener started 02:32:03,410 PM [test-pekko.actor.default-dispatcher-6] [INFO] Slf4jLogger - Slf4jLogger started [DEBUG] [06/26/2025 14:32:03.410] [main] [EventStream(pekko://test)] logger log2-Slf4jLogger started [DEBUG] [06/26/2025 14:32:03.410] [main] [EventStream(pekko://test)] Default Loggers started [INFO] [06/26/2025 14:32:03.422] [main] [ArteryTransport(pekko://test)] Remoting started with transport [Artery tcp]; listening on address [pekko://test@10.30.170.110:17355] with UID [8821464172682283079] 02:32:03,423 PM [test-pekko.actor.default-dispatcher-6] [INFO] ArteryTransport - Remoting started with transport [Artery tcp]; listening on address [pekko://test@10.30.170.110:17355] with UID [8821464172682283079] [INFO] [06/26/2025 14:32:03.423] [main] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.170.110:17355] - Starting up, Pekko version [1.0.3] ... 02:32:03,423 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.170.110:17355] - Starting up, Pekko version [1.0.3] ... [INFO] [06/26/2025 14:32:03.426] [main] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.170.110:17355] - Registered cluster JMX MBean [pekko:type=Cluster] 02:32:03,426 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.170.110:17355] - Registered cluster JMX MBean [pekko:type=Cluster] [INFO] [06/26/2025 14:32:03.426] [main] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.170.110:17355] - Started up successfully 02:32:03,427 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.170.110:17355] - Started up successfully 02:32:03,428 PM [test-pekko.actor.default-dispatcher-7] [INFO] Cluster - Cluster Node [pekko://test@10.30.170.110:17355] - No downing-provider-class configured, manual cluster downing required, see https://pekko.apache.org/docs/pekko/current/typed/cluster.html#downing 02:32:03,428 PM [test-pekko.actor.default-dispatcher-7] [INFO] Cluster - Cluster Node [pekko://test@10.30.170.110:17355] - No seed-nodes configured, manual cluster join required, see https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining [INFO] [06/26/2025 14:32:03.428] [test-pekko.actor.internal-dispatcher-4] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.170.110:17355] - No downing-provider-class configured, manual cluster downing required, see https://pekko.apache.org/docs/pekko/current/typed/cluster.html#downing [INFO] [06/26/2025 14:32:03.428] [test-pekko.actor.internal-dispatcher-4] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.170.110:17355] - No seed-nodes configured, manual cluster join required, see https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining 02:32:03,439 PM [main] [INFO] FollowerTest - Starting testHandleInstallSnapshot 02:32:03,439 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,517 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=1, lastIncludedTerm=1, datasize=50, chunk=1/2, lastChunkHashCode=OptionalInt.empty} 02:32:03,517 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 1 02:32:03,517 PM [main] [DEBUG] SnapshotTracker - follower (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 02:32:03,518 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=follower, chunkIndex=1, success=true} 02:32:03,519 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=2, lastIncludedTerm=1, datasize=29, chunk=2/2, lastChunkHashCode=OptionalInt.empty} 02:32:03,519 PM [main] [DEBUG] SyncStatusTracker - follower: Lagging 1 entries behind leader leader and reached 1 (of expected 1) 02:32:03,519 PM [main] [DEBUG] SnapshotTracker - follower (Follower): addChunk: chunkIndex=2, lastChunkIndex=1, collectedChunks.size=50, lastChunkHashCode=675006801 02:32:03,519 PM [main] [INFO] Follower - follower (Follower): Snapshot received from leader: leader 02:32:03,521 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=follower, chunkIndex=2, success=true} 02:32:03,521 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior423#-639583702] 02:32:03,532 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower424#-818512258] 02:32:03,532 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader425#-672568629] 02:32:03,534 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesPreviousLogEntryMissing 02:32:03,534 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,535 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=3, prevLogTerm=1, leaderCommit=4, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=4, term=1, command=four]]} 02:32:03,536 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 3 was not found in it - lastIndex: 2, snapshotIndex: -1, snapshotTerm: -1 02:32:03,536 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=1, success=false, followerId=follower, logLastIndex=2, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,536 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 4 02:32:03,536 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior426#1510799427] 02:32:03,547 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower427#564997250] 02:32:03,547 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader428#401854069] 02:32:03,548 PM [main] [INFO] FollowerTest - Starting testInitialSyncUpWithHandleInstallSnapshot 02:32:03,548 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,549 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=1, lastIncludedTerm=1, datasize=50, chunk=1/2, lastChunkHashCode=OptionalInt.empty} 02:32:03,549 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 1 02:32:03,549 PM [main] [DEBUG] SnapshotTracker - follower (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 02:32:03,549 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=follower, chunkIndex=1, success=true} 02:32:03,549 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=2, lastIncludedTerm=1, datasize=29, chunk=2/2, lastChunkHashCode=OptionalInt.empty} 02:32:03,549 PM [main] [DEBUG] SnapshotTracker - follower (Follower): addChunk: chunkIndex=2, lastChunkIndex=1, collectedChunks.size=50, lastChunkHashCode=675006801 02:32:03,549 PM [main] [INFO] Follower - follower (Follower): Snapshot received from leader: leader 02:32:03,550 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 101 02:32:03,550 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader, prevLogIndex=101, prevLogTerm=1, leaderCommit=102, replicatedToAllIndex=101, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:03,551 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader, prevLogIndex=101, prevLogTerm=1, leaderCommit=102, replicatedToAllIndex=101, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,551 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 101 was not found in it - lastIndex: 101, snapshotIndex: -1, snapshotTerm: -1 02:32:03,551 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=101, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,551 PM [main] [DEBUG] SyncStatusTracker - follower: Lagging 1 entries behind leader leader and reached 101 (of expected 1) 02:32:03,551 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior429#1875439957] 02:32:03,562 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower430#637323727] 02:32:03,562 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader431#-490293338] 02:32:03,563 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,564 PM [main] [INFO] Follower - follower (Follower): Term 100 in "RequestVoteReply{term=100, voteGranted=false}" message is greater than follower's term 1 - updating term 02:32:03,564 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior432#2076745553] 02:32:03,575 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower433#-1485094040] 02:32:03,575 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader434#146242317] 02:32:03,576 PM [main] [INFO] FollowerTest - Starting testHandleFirstAppendEntries 02:32:03,576 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,577 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:03,577 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,577 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 02:32:03,577 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 100, entries to be added from: 0 02:32:03,577 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log foo 02:32:03,577 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 2 02:32:03,577 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 101 02:32:03,578 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=2, success=true, followerId=follower, logLastIndex=101, logLastTerm=2, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,578 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 101 02:32:03,578 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 101, context.getLastApplied(): 1, lastIndex(): 101 02:32:03,579 PM [main] [WARN] RaftActorBehavior - follower (Follower): Missing index 2 from log. Cannot apply state. Ignoring 2 to 101 02:32:03,579 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior435#-1692630595] 02:32:03,590 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower436#-1759356625] 02:32:03,590 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader437#-396376162] 02:32:03,591 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesWithExistingLogEntry 02:32:03,591 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,592 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=1, term=1, command=one]]} 02:32:03,592 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 02:32:03,592 PM [main] [DEBUG] Follower - follower (Follower): matchEntry DefaultLogEntry[index=1, term=1, command=one] is present: existingEntryTerm: 1 02:32:03,592 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 1, entries to be added from: 1 02:32:03,592 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 2 02:32:03,592 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 1 02:32:03,592 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,592 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 1 02:32:03,592 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 1, context.getLastApplied(): -1, lastIndex(): 1 02:32:03,593 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 0 02:32:03,593 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 0 02:32:03,593 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 1 02:32:03,593 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 0 to 1 02:32:03,593 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=2, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=1, term=1, command=one], DefaultLogEntry[index=2, term=1, command=two]]} 02:32:03,594 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 2 02:32:03,594 PM [main] [DEBUG] Follower - follower (Follower): matchEntry DefaultLogEntry[index=1, term=1, command=one] is present: existingEntryTerm: 1 02:32:03,594 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 1, entries to be added from: 1 02:32:03,594 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log two 02:32:03,594 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 3 02:32:03,594 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 2 02:32:03,594 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower, logLastIndex=2, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,594 PM [main] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 2 (of expected 1) 02:32:03,594 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 2, context.getLastApplied(): 1, lastIndex(): 2 02:32:03,594 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 2 02:32:03,594 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 1 to 2 02:32:03,594 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior438#-482972135] 02:32:03,605 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower439#-1877988620] 02:32:03,605 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader440#2128073537] 02:32:03,606 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesSenderPrevLogTermNotSameAsReceiverPrevLogTerm 02:32:03,607 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,607 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader, prevLogIndex=0, prevLogTerm=2, leaderCommit=101, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 1 - updating term 02:32:03,607 PM [main] [INFO] Follower - follower (Follower): The prevLogIndex 0 was found in the log but the term 1 is not equal to the append entries prevLogTerm 2 - lastIndex: 1, snapshotIndex: -1, snapshotTerm: -1 02:32:03,608 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,608 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 101 02:32:03,608 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior441#-1011433697] 02:32:03,618 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower442#916356742] 02:32:03,618 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader443#-1671034540] 02:32:03,620 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,622 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior444#391357552] 02:32:03,632 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower445#-555167301] 02:32:03,632 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader446#-94120197] 02:32:03,636 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesWithNewerCommitIndex 02:32:03,636 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,636 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 100 02:32:03,637 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:03,638 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,638 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 02:32:03,638 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 100, entries to be added from: 0 02:32:03,638 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log foo 02:32:03,638 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 2 02:32:03,638 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 101 02:32:03,638 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=2, success=true, followerId=follower, logLastIndex=101, logLastTerm=2, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,639 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 101 02:32:03,639 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 101, context.getLastApplied(): 100, lastIndex(): 101 02:32:03,639 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 101 02:32:03,639 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 100 to 101 02:32:03,639 PM [main] [DEBUG] SnapshotManager - follower: fakeSnapshot purging log to 100 for term 2 02:32:03,640 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior447#2044324839] 02:32:03,650 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower448#444534121] 02:32:03,651 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader449#-1786265738] 02:32:03,653 PM [main] [INFO] FollowerTest - Starting testCaptureSnapshotOnLastEntryInAppendEntries [WARN] [06/26/2025 14:32:03.656] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/testCaptureSnapshotOnLastEntryInAppendEntries]: org.opendaylight.controller.cluster.common.actor.Monitor@51f905e3 [INFO] [pekkoDeadLetter][06/26/2025 14:32:03.656] [test-pekko.actor.default-dispatcher-7] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/testCaptureSnapshotOnLastEntryInAppendEntries] to Actor[pekko://test/user/termination-monitor] was not delivered. [1] dead letters encountered. If this is not an expected behavior then Actor[pekko://test/user/termination-monitor] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:03,656 PM [test-pekko.actor.default-dispatcher-11] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/testCaptureSnapshotOnLastEntryInAppendEntries] to Actor[pekko://test/user/termination-monitor] was not delivered. [1] dead letters encountered. If this is not an expected behavior then Actor[pekko://test/user/termination-monitor] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:03,659 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - testCaptureSnapshotOnLastEntryInAppendEntries: Starting recovery with journal batch size 1000 02:32:03,659 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: started executor 02:32:03,659 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: started executor 02:32:03,663 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest7542798241275664832/testCaptureSnapshotOnLastEntryInAppendEntries/TermInfo.properties does not exist 02:32:03,663 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: no eligible files found 02:32:03,663 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - testCaptureSnapshotOnLastEntryInAppendEntries: Set currentTerm=1, votedFor=null 02:32:03,663 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - testCaptureSnapshotOnLastEntryInAppendEntries: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - testCaptureSnapshotOnLastEntryInAppendEntries: Set currentTerm=1, votedFor=null 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - testCaptureSnapshotOnLastEntryInAppendEntries: Local TermInfo store seeded with TermInfo{term=1} 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - testCaptureSnapshotOnLastEntryInAppendEntries: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@50a2c2da 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=0, term=1, command=one], DefaultLogEntry[index=1, term=1, command=two]]} 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): Number of entries to be appended = 2 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): Append entry to log one 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnLastEntryInAppendEntries: Append log entry and persist DefaultLogEntry[index=0, term=1, command=one] 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): Append entry to log two 02:32:03,667 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnLastEntryInAppendEntries: Append log entry and persist DefaultLogEntry[index=1, term=1, command=two] 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): Log size is now 2 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): Commit index set to 1 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=testCaptureSnapshotOnLastEntryInAppendEntries, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - testCaptureSnapshotOnLastEntryInAppendEntries: Last sync leader does not match current leader leader, need to catch up to 1 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 1, context.getLastApplied(): -1, lastIndex(): 1 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): Setting last applied to 0 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - testCaptureSnapshotOnLastEntryInAppendEntries: Moving last applied index from -1 to 0 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - testCaptureSnapshotOnLastEntryInAppendEntries: Applying state for log index 0 data one 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [INFO] MockRaftActor - testCaptureSnapshotOnLastEntryInAppendEntries: applyState called: one 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - testCaptureSnapshotOnLastEntryInAppendEntries (Follower): Setting last applied to 1 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - testCaptureSnapshotOnLastEntryInAppendEntries: Moving last applied index from 0 to 1 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - testCaptureSnapshotOnLastEntryInAppendEntries: Applying state for log index 1 data two 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [INFO] MockRaftActor - testCaptureSnapshotOnLastEntryInAppendEntries: applyState called: two 02:32:03,668 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - testCaptureSnapshotOnLastEntryInAppendEntries: Persisting ApplyJournalEntries with index=1 02:32:03,669 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnLastEntryInAppendEntries: persist complete JournaledLogEntry{index=0, term=1, command=one, pending=false} 02:32:03,669 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnLastEntryInAppendEntries: persist complete JournaledLogEntry{index=1, term=1, command=two, pending=false} 02:32:03,669 PM [test-pekko.actor.default-dispatcher-6] [INFO] SnapshotManager - testCaptureSnapshotOnLastEntryInAppendEntries: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=1, lastAppliedTerm=1, lastIndex=1, lastTerm=1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=false] 02:32:03,669 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - testCaptureSnapshotOnLastEntryInAppendEntries: captured snapshot at lastSequenceNumber: 3 02:32:03,669 PM [test-pekko.actor.default-dispatcher-6] [INFO] SnapshotManager - testCaptureSnapshotOnLastEntryInAppendEntries: Persising snapshot at EntryInfo[index=1, term=1]/EntryInfo[index=1, term=1] 02:32:03,669 PM [test-pekko.actor.default-dispatcher-6] [INFO] MockRaftActor - testCaptureSnapshotOnLastEntryInAppendEntries: support() called 02:32:03,669 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - testCaptureSnapshotOnLastEntryInAppendEntries: log size 2 exceeds the snapshot batch count 2 - doing snapshotPreCommit with index 1 02:32:03,669 PM [test-pekko.actor.default-dispatcher-6] [INFO] SnapshotManager - testCaptureSnapshotOnLastEntryInAppendEntries: Removed in-memory snapshotted entries, adjusted snaphsotIndex: 1 and term: 1 [WARN] [06/26/2025 14:32:03.669] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/testCaptureSnapshotOnLastEntryInAppendEntries] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=testCaptureSnapshotOnLastEntryInAppendEntries, initialSyncDone=false] [INFO] [pekkoDeadLetter][06/26/2025 14:32:03.669] [test-pekko.actor.default-dispatcher-7] [pekko://test/user/testCaptureSnapshotOnLastEntryInAppendEntries] Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/testCaptureSnapshotOnLastEntryInAppendEntries] was unhandled. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:03,669 PM [test-pekko.actor.default-dispatcher-11] [INFO] TestActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/testCaptureSnapshotOnLastEntryInAppendEntries] was unhandled. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:03,669 PM [testCaptureSnapshotOnLastEntryInAppendEntries-%d619666] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest7542798241275664832/testCaptureSnapshotOnLastEntryInAppendEntries/snapshot-00000000685D59E3-27E6BE1C.tmp 02:32:03,675 PM [testCaptureSnapshotOnLastEntryInAppendEntries-%d619666] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest7542798241275664832/testCaptureSnapshotOnLastEntryInAppendEntries/snapshot-00000000685D59E3-27E6BE1C.v1 02:32:03,676 PM [testCaptureSnapshotOnLastEntryInAppendEntries-%d619666] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest7542798241275664832/testCaptureSnapshotOnLastEntryInAppendEntries/snapshot-00000000685D59E3-27E6BE1C.v1 02:32:03,676 PM [testCaptureSnapshotOnLastEntryInAppendEntries-%d619666] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest7542798241275664832/testCaptureSnapshotOnLastEntryInAppendEntries/TermInfo.properties 02:32:03,676 PM [testCaptureSnapshotOnLastEntryInAppendEntries-%d619666] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=1, term=1], timestamp=2025-06-26T14:32:03.669433372Z, file=/tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest7542798241275664832/testCaptureSnapshotOnLastEntryInAppendEntries/snapshot-00000000685D59E3-27E6BE1C.v1, size=555, entryCompress=NONE, stateCompress=NONE} 02:32:03,676 PM [test-pekko.actor.default-dispatcher-14] [INFO] SnapshotManager - testCaptureSnapshotOnLastEntryInAppendEntries: snapshot is durable as of 2025-06-26T14:32:03.669433372Z 02:32:03,676 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] SnapshotManager - testCaptureSnapshotOnLastEntryInAppendEntries: Snapshot success - sequence number: 3 02:32:03,676 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftActorSnapshotMessageSupport - testCaptureSnapshotOnLastEntryInAppendEntries: SnapshotComplete received 02:32:03,676 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftActor - testCaptureSnapshotOnLastEntryInAppendEntries: handled a journal response 02:32:03,819 PM [awaitility-thread] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest7542798241275664832/testCaptureSnapshotOnLastEntryInAppendEntries/snapshot-00000000685D59E3-27E6BE1C.v1 02:32:03,820 PM [awaitility-thread] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest7542798241275664832/testCaptureSnapshotOnLastEntryInAppendEntries/TermInfo.properties 02:32:03,820 PM [awaitility-thread] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: picked SnapshotFileV1{lastIncluded=EntryInfo[index=1, term=1], timestamp=2025-06-26T14:32:03.669433372Z, file=/tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest7542798241275664832/testCaptureSnapshotOnLastEntryInAppendEntries/snapshot-00000000685D59E3-27E6BE1C.v1, size=555, entryCompress=NONE, stateCompress=NONE} as the latest file 02:32:03,822 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior450#-1745924999] 02:32:03,833 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower451#-611648735] 02:32:03,833 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader452#1750530393] 02:32:03,834 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/testCaptureSnapshotOnLastEntryInAppendEntries] 02:32:03,834 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: stopped executor with 0 remaining tasks 02:32:03,834 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - testCaptureSnapshotOnLastEntryInAppendEntries: stopped executor with 0 remaining tasks 02:32:03,837 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,838 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior453#-1479770284] 02:32:03,849 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower454#-127480580] 02:32:03,849 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader455#-750658267] 02:32:03,852 PM [main] [INFO] FollowerTest - Starting testHandleRequestVoteWhenSenderTermEqualToCurrentTermAndVotedForIsNotTheSameAsCandidateId 02:32:03,852 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,853 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): In requestVote: RequestVote{term=1000, candidateId=candidate, lastLogIndex=10000, lastLogTerm=999} - currentTerm: 1000, votedFor: test, lastIndex: 1, lastTerm: 1 02:32:03,854 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): requestVote returning: RequestVoteReply{term=1000, voteGranted=false} 02:32:03,855 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior456#1658072335] 02:32:03,865 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower457#-980725000] 02:32:03,866 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader458#208713889] 02:32:03,868 PM [main] [INFO] FollowerTest - Starting testHandleFirstAppendEntriesWithPrevIndexMinusOneAndReplicatedToAllIndexPresentInSnapshot 02:32:03,868 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,869 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader-1, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:03,870 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,870 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 02:32:03,870 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 100, entries to be added from: 0 02:32:03,870 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log foo 02:32:03,870 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 1 02:32:03,871 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 101 02:32:03,871 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=2, success=true, followerId=follower, logLastIndex=101, logLastTerm=2, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,871 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 101 02:32:03,871 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 101, context.getLastApplied(): 1, lastIndex(): 101 02:32:03,871 PM [main] [WARN] RaftActorBehavior - follower (Follower): Missing index 2 from log. Cannot apply state. Ignoring 2 to 101 02:32:03,872 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior459#2092616042] 02:32:03,883 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower460#1617361662] 02:32:03,883 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader461#-52167149] 02:32:03,886 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesLeaderChangedBeforeSyncUpComplete 02:32:03,886 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,887 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:03,887 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,888 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 100 was not found in it - lastIndex: 1, snapshotIndex: -1, snapshotTerm: -1 02:32:03,888 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,888 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 101 02:32:03,889 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 1 to 100 02:32:03,889 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-2, prevLogIndex=45, prevLogTerm=1, leaderCommit=46, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,890 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 45 was not found in it - lastIndex: 100, snapshotIndex: -1, snapshotTerm: -1 02:32:03,890 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=100, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,891 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-2, need to catch up to 46 02:32:03,891 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior462#1085454558] 02:32:03,891 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower463#-1602700439] 02:32:03,892 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader464#-151387221] 02:32:03,894 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,894 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior465#1929251085] 02:32:03,894 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower466#-449049561] 02:32:03,894 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader467#-3376289] 02:32:03,896 PM [main] [INFO] FollowerTest - Starting testHandleSyncUpAppendEntries 02:32:03,896 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,896 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:03,897 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,897 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 100 was not found in it - lastIndex: 1, snapshotIndex: -1, snapshotTerm: -1 02:32:03,897 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,898 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 101 02:32:03,898 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 101 02:32:03,898 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=101, prevLogTerm=1, leaderCommit=102, replicatedToAllIndex=101, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,898 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 101 was not found in it - lastIndex: 101, snapshotIndex: -1, snapshotTerm: -1 02:32:03,899 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=101, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,899 PM [main] [DEBUG] SyncStatusTracker - follower: Lagging 1 entries behind leader leader-1 and reached 101 (of expected 101) 02:32:03,899 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=101, prevLogTerm=1, leaderCommit=102, replicatedToAllIndex=101, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,899 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 101 was not found in it - lastIndex: 101, snapshotIndex: -1, snapshotTerm: -1 02:32:03,900 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=101, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,900 PM [main] [DEBUG] SyncStatusTracker - follower: Lagging 1 entries behind leader leader-1 and reached 101 (of expected 101) 02:32:03,900 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior468#-1923141198] 02:32:03,900 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower469#1695331937] 02:32:03,900 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader470#1069092908] 02:32:03,902 PM [main] [INFO] FollowerTest - Starting testHandleAppendAfterInstallingSnapshot 02:32:03,902 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,903 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=3, prevLogTerm=1, leaderCommit=4, replicatedToAllIndex=3, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=4, term=1, command=four]]} 02:32:03,903 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 02:32:03,903 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 3, entries to be added from: 0 02:32:03,903 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log four 02:32:03,903 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 1 02:32:03,903 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 4 02:32:03,903 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower, logLastIndex=4, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,903 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 4 02:32:03,903 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 4, context.getLastApplied(): -1, lastIndex(): 4 02:32:03,903 PM [main] [WARN] RaftActorBehavior - follower (Follower): Missing index 0 from log. Cannot apply state. Ignoring 0 to 4 02:32:03,903 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior471#-900732542] 02:32:03,904 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower472#768478966] 02:32:03,904 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader473#-2090702763] 02:32:03,905 PM [main] [INFO] FollowerTest - Starting testNeedsLeaderAddress 02:32:03,905 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,906 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to -1 02:32:03,907 PM [main] [DEBUG] Follower - New leader address: pekko://test/user/leader476 02:32:03,907 PM [main] [INFO] PeerInfos - follower: Peer address for peer leader set to pekko://test/user/leader476 02:32:03,908 PM [main] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached -1 (of expected -1) 02:32:03,908 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior474#731908476] 02:32:03,909 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower475#-763537260] 02:32:03,909 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader476#-1333726747] 02:32:03,910 PM [main] [INFO] FollowerTest - Starting testHandleFirstAppendEntriesWithPrevIndexMinusOneAndReplicatedToAllIndexPresentInLog 02:32:03,911 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,911 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader-1, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:03,911 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,911 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 02:32:03,911 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 100, entries to be added from: 0 02:32:03,911 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log foo 02:32:03,911 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 2 02:32:03,911 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 101 02:32:03,911 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=2, success=true, followerId=follower, logLastIndex=101, logLastTerm=2, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,912 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 101 02:32:03,912 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 101, context.getLastApplied(): 1, lastIndex(): 101 02:32:03,912 PM [main] [WARN] RaftActorBehavior - follower (Follower): Missing index 2 from log. Cannot apply state. Ignoring 2 to 101 02:32:03,912 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior477#-2028220109] 02:32:03,912 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower478#80757848] 02:32:03,912 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader479#1230755265] 02:32:03,916 PM [main] [INFO] FollowerTest - Starting testHandleFirstAppendEntries 02:32:03,916 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:03,917 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader-1, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:03,918 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:03,918 PM [main] [INFO] Follower - follower (Follower): Cannot append entries because the replicatedToAllIndex 100 does not appear to be in the in-memory journal - lastIndex: 1, snapshotIndex: -1, snapshotTerm: -1 02:32:03,918 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,918 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 101 02:32:03,918 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior480#1531910444] 02:32:03,929 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower481#-297530697] 02:32:03,929 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader482#-416237012] 02:32:03,931 PM [main] [INFO] FollowerTest - Starting testCaptureSnapshotOnAppendEntriesWithUnapplied [WARN] [06/26/2025 14:32:03.932] [test-pekko.actor.default-dispatcher-14] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/testCaptureSnapshotOnAppendEntriesWithUnapplied]: org.opendaylight.controller.cluster.common.actor.Monitor@598f1ffe 02:32:03,932 PM [test-pekko.actor.default-dispatcher-7] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/testCaptureSnapshotOnAppendEntriesWithUnapplied] to Actor[pekko://test/user/termination-monitor] was not delivered. [3] dead letters encountered. If this is not an expected behavior then Actor[pekko://test/user/termination-monitor] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. [INFO] [pekkoDeadLetter][06/26/2025 14:32:03.932] [test-pekko.actor.default-dispatcher-7] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/testCaptureSnapshotOnAppendEntriesWithUnapplied] to Actor[pekko://test/user/termination-monitor] was not delivered. [3] dead letters encountered. If this is not an expected behavior then Actor[pekko://test/user/termination-monitor] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:03,933 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - testCaptureSnapshotOnAppendEntriesWithUnapplied: Starting recovery with journal batch size 1000 02:32:03,933 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: started executor 02:32:03,933 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: started executor 02:32:03,934 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest11128583205005192489/testCaptureSnapshotOnAppendEntriesWithUnapplied/TermInfo.properties does not exist 02:32:03,934 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: no eligible files found 02:32:03,934 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - testCaptureSnapshotOnAppendEntriesWithUnapplied: Set currentTerm=1, votedFor=null 02:32:03,934 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - testCaptureSnapshotOnAppendEntriesWithUnapplied: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 02:32:03,937 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - testCaptureSnapshotOnAppendEntriesWithUnapplied: Set currentTerm=1, votedFor=null 02:32:03,937 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - testCaptureSnapshotOnAppendEntriesWithUnapplied: Local TermInfo store seeded with TermInfo{term=1} 02:32:03,937 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - testCaptureSnapshotOnAppendEntriesWithUnapplied: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@53ea80b3 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=0, term=1, command=one], DefaultLogEntry[index=1, term=1, command=two], DefaultLogEntry[index=2, term=1, command=three]]} 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): Number of entries to be appended = 3 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): Append entry to log one 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnAppendEntriesWithUnapplied: Append log entry and persist DefaultLogEntry[index=0, term=1, command=one] 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): Append entry to log two 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnAppendEntriesWithUnapplied: Append log entry and persist DefaultLogEntry[index=1, term=1, command=two] 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): Append entry to log three 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnAppendEntriesWithUnapplied: Append log entry and persist DefaultLogEntry[index=2, term=1, command=three] 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): Log size is now 3 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): Commit index set to 0 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=testCaptureSnapshotOnAppendEntriesWithUnapplied, logLastIndex=2, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - testCaptureSnapshotOnAppendEntriesWithUnapplied: Last sync leader does not match current leader leader, need to catch up to 0 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 2 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - testCaptureSnapshotOnAppendEntriesWithUnapplied (Follower): Setting last applied to 0 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - testCaptureSnapshotOnAppendEntriesWithUnapplied: Moving last applied index from -1 to 0 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - testCaptureSnapshotOnAppendEntriesWithUnapplied: Applying state for log index 0 data one 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [INFO] MockRaftActor - testCaptureSnapshotOnAppendEntriesWithUnapplied: applyState called: one 02:32:03,938 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - testCaptureSnapshotOnAppendEntriesWithUnapplied: Persisting ApplyJournalEntries with index=0 02:32:03,939 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnAppendEntriesWithUnapplied: persist complete JournaledLogEntry{index=0, term=1, command=one, pending=false} 02:32:03,939 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnAppendEntriesWithUnapplied: persist complete JournaledLogEntry{index=1, term=1, command=two, pending=false} 02:32:03,939 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnAppendEntriesWithUnapplied: persist complete JournaledLogEntry{index=2, term=1, command=three, pending=false} 02:32:03,939 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - testCaptureSnapshotOnAppendEntriesWithUnapplied: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=0, lastAppliedTerm=1, lastIndex=2, lastTerm=1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=2, mandatoryTrim=false] 02:32:03,939 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - testCaptureSnapshotOnAppendEntriesWithUnapplied: captured snapshot at lastSequenceNumber: 4 02:32:03,939 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - testCaptureSnapshotOnAppendEntriesWithUnapplied: Persising snapshot at EntryInfo[index=0, term=1]/EntryInfo[index=2, term=1] 02:32:03,939 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - testCaptureSnapshotOnAppendEntriesWithUnapplied: support() called 02:32:03,939 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - testCaptureSnapshotOnAppendEntriesWithUnapplied: log size 3 exceeds the snapshot batch count 1 - doing snapshotPreCommit with index 0 02:32:03,939 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - testCaptureSnapshotOnAppendEntriesWithUnapplied: Removed in-memory snapshotted entries, adjusted snaphsotIndex: 0 and term: 1 02:32:03,940 PM [testCaptureSnapshotOnAppendEntriesWithUnapplied-%d113001] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest11128583205005192489/testCaptureSnapshotOnAppendEntriesWithUnapplied/snapshot-00000000685D59E3-38047ECE.tmp [WARN] [06/26/2025 14:32:03.940] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/testCaptureSnapshotOnAppendEntriesWithUnapplied] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=testCaptureSnapshotOnAppendEntriesWithUnapplied, initialSyncDone=false] [INFO] [pekkoDeadLetter][06/26/2025 14:32:03.940] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/testCaptureSnapshotOnAppendEntriesWithUnapplied] Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/testCaptureSnapshotOnAppendEntriesWithUnapplied] was unhandled. [4] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:03,940 PM [test-pekko.actor.default-dispatcher-15] [INFO] TestActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/testCaptureSnapshotOnAppendEntriesWithUnapplied] was unhandled. [4] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:03,941 PM [testCaptureSnapshotOnAppendEntriesWithUnapplied-%d113001] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest11128583205005192489/testCaptureSnapshotOnAppendEntriesWithUnapplied/snapshot-00000000685D59E3-38047ECE.v1 02:32:03,942 PM [testCaptureSnapshotOnAppendEntriesWithUnapplied-%d113001] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest11128583205005192489/testCaptureSnapshotOnAppendEntriesWithUnapplied/snapshot-00000000685D59E3-38047ECE.v1 02:32:03,942 PM [testCaptureSnapshotOnAppendEntriesWithUnapplied-%d113001] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest11128583205005192489/testCaptureSnapshotOnAppendEntriesWithUnapplied/TermInfo.properties 02:32:03,942 PM [testCaptureSnapshotOnAppendEntriesWithUnapplied-%d113001] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=0, term=1], timestamp=2025-06-26T14:32:03.939818702Z, file=/tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest11128583205005192489/testCaptureSnapshotOnAppendEntriesWithUnapplied/snapshot-00000000685D59E3-38047ECE.v1, size=701, entryCompress=NONE, stateCompress=NONE} 02:32:03,942 PM [test-pekko.actor.default-dispatcher-6] [INFO] SnapshotManager - testCaptureSnapshotOnAppendEntriesWithUnapplied: snapshot is durable as of 2025-06-26T14:32:03.939818702Z 02:32:03,942 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - testCaptureSnapshotOnAppendEntriesWithUnapplied: Snapshot success - sequence number: 4 02:32:03,942 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorSnapshotMessageSupport - testCaptureSnapshotOnAppendEntriesWithUnapplied: SnapshotComplete received 02:32:03,942 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - testCaptureSnapshotOnAppendEntriesWithUnapplied: handled a journal response 02:32:04,90 PM [awaitility-thread] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest11128583205005192489/testCaptureSnapshotOnAppendEntriesWithUnapplied/snapshot-00000000685D59E3-38047ECE.v1 02:32:04,90 PM [awaitility-thread] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest11128583205005192489/testCaptureSnapshotOnAppendEntriesWithUnapplied/TermInfo.properties 02:32:04,90 PM [awaitility-thread] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: picked SnapshotFileV1{lastIncluded=EntryInfo[index=0, term=1], timestamp=2025-06-26T14:32:03.939818702Z, file=/tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest11128583205005192489/testCaptureSnapshotOnAppendEntriesWithUnapplied/snapshot-00000000685D59E3-38047ECE.v1, size=701, entryCompress=NONE, stateCompress=NONE} as the latest file 02:32:04,92 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior483#-401459938] 02:32:04,103 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower484#1678080879] 02:32:04,103 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader485#426308732] 02:32:04,103 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/testCaptureSnapshotOnAppendEntriesWithUnapplied] 02:32:04,104 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: stopped executor with 0 remaining tasks 02:32:04,104 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - testCaptureSnapshotOnAppendEntriesWithUnapplied: stopped executor with 0 remaining tasks 02:32:04,107 PM [main] [INFO] FollowerTest - Starting testFirstAppendEntriesWithNoPrevIndexAndReplicatedToAllPresentInSnapshotButCalculatedPrevEntryMissing 02:32:04,107 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,108 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader-1, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=105, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=105, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:04,108 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=105, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=105, term=2, command=foo]]} 02:32:04,109 PM [main] [INFO] Follower - follower (Follower): Cannot append entries because the calculated previousIndex 104 was not found in the in-memory journal - lastIndex: 100, snapshotIndex: 100, snapshotTerm: -1 02:32:04,109 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=100, logLastTerm=-1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:04,109 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 105 02:32:04,110 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior486#1107131850] 02:32:04,120 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower487#1504949962] 02:32:04,120 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader488#107179681] 02:32:04,123 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesSenderPrevLogIndexIsInTheSnapshot 02:32:04,123 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,124 PM [main] [INFO] Follower - follower (Follower): Term 3 in "AppendEntries{term=3, leaderId=leader, prevLogIndex=1, prevLogTerm=3, leaderCommit=8, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 1 - updating term 02:32:04,125 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 7 02:32:04,125 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 8 02:32:04,125 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 8, context.getLastApplied(): -1, lastIndex(): 7 02:32:04,125 PM [main] [WARN] RaftActorBehavior - follower (Follower): Missing index 0 from log. Cannot apply state. Ignoring 0 to 8 02:32:04,126 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior489#-347796291] 02:32:04,136 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower490#1313519713] 02:32:04,136 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader491#-1012225988] 02:32:04,138 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesCorrectReceiverLogEntries 02:32:04,139 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,139 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader, prevLogIndex=1, prevLogTerm=1, leaderCommit=3, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=2, term=2, command=two-1], DefaultLogEntry[index=3, term=2, command=three]]}" message is greater than follower's term 1 - updating term 02:32:04,139 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader, prevLogIndex=1, prevLogTerm=1, leaderCommit=3, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=2, term=2, command=two-1], DefaultLogEntry[index=3, term=2, command=three]]} 02:32:04,139 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 2 02:32:04,140 PM [main] [DEBUG] Follower - follower (Follower): matchEntry DefaultLogEntry[index=2, term=2, command=two-1] is present: existingEntryTerm: 1 02:32:04,140 PM [main] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 02:32:04,140 PM [main] [INFO] Follower - follower (Follower): Removing entries from log starting at 2, commitIndex: -1, lastApplied: -1 02:32:04,140 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 1, entries to be added from: 0 02:32:04,140 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log two-1 02:32:04,140 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log three 02:32:04,140 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 4 02:32:04,140 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 3 02:32:04,140 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=2, success=true, followerId=follower, logLastIndex=3, logLastTerm=2, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:04,140 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 3 02:32:04,140 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 3, context.getLastApplied(): -1, lastIndex(): 3 02:32:04,140 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 0 02:32:04,140 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 0 02:32:04,140 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 1 02:32:04,140 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 0 to 1 02:32:04,140 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 2 02:32:04,140 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 1 to 2 02:32:04,140 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 3 02:32:04,140 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 2 to 3 02:32:04,141 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior492#-2135230034] 02:32:04,151 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower493#517206760] 02:32:04,152 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader494#2036557897] 02:32:04,154 PM [main] [INFO] FollowerTest - Starting testHandleOutOfSequenceInstallSnapshot 02:32:04,154 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,155 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=3, lastIncludedTerm=1, datasize=50, chunk=3/3, lastChunkHashCode=OptionalInt.empty} 02:32:04,155 PM [main] [DEBUG] Follower - follower (Follower): expected chunkIndex 1 got 3 02:32:04,156 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior495#1616142645] 02:32:04,167 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower496#1555341532] 02:32:04,167 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader497#-17231939] 02:32:04,169 PM [main] [INFO] FollowerTest - Starting testReceivingAppendEntriesDuringInstallSnapshotFromDifferentLeader 02:32:04,169 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,170 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=1, lastIncludedTerm=1, datasize=50, chunk=1/2, lastChunkHashCode=OptionalInt.empty} 02:32:04,171 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 1 02:32:04,171 PM [main] [DEBUG] SnapshotTracker - follower (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 02:32:04,171 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=follower, chunkIndex=1, success=true} 02:32:04,172 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=new-leader, prevLogIndex=1, prevLogTerm=1, leaderCommit=2, replicatedToAllIndex=-1, payloadVersion=1, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=2, term=2, command=3]]}" message is greater than follower's term 1 - updating term 02:32:04,172 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=new-leader, prevLogIndex=1, prevLogTerm=1, leaderCommit=2, replicatedToAllIndex=-1, payloadVersion=1, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=2, term=2, command=3]]} 02:32:04,172 PM [main] [DEBUG] Follower - follower (Follower): snapshot install is in progress but the prior snapshot leaderId leader does not match the AppendEntries leaderId new-leader 02:32:04,173 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 02:32:04,173 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 1, entries to be added from: 0 02:32:04,173 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log 3 02:32:04,173 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 3 02:32:04,173 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 2 02:32:04,173 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=2, success=true, followerId=follower, logLastIndex=2, logLastTerm=2, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:04,173 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader new-leader, need to catch up to 2 02:32:04,173 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 2, context.getLastApplied(): 1, lastIndex(): 2 02:32:04,173 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 2 02:32:04,173 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 1 to 2 02:32:04,174 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior498#-179622434] 02:32:04,185 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower499#1191447780] 02:32:04,185 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader500#1696433470] 02:32:04,187 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesLeaderChangedAfterSyncUpComplete 02:32:04,188 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,188 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]}" message is greater than follower's term 1 - updating term 02:32:04,191 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=100, prevLogTerm=1, leaderCommit=101, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:04,192 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 100 was not found in it - lastIndex: 1, snapshotIndex: -1, snapshotTerm: -1 02:32:04,192 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:04,192 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 101 02:32:04,193 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 101 02:32:04,193 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=101, prevLogTerm=1, leaderCommit=102, replicatedToAllIndex=101, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:04,193 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 101 was not found in it - lastIndex: 101, snapshotIndex: -1, snapshotTerm: -1 02:32:04,194 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=101, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:04,194 PM [main] [DEBUG] SyncStatusTracker - follower: Lagging 1 entries behind leader leader-1 and reached 101 (of expected 101) 02:32:04,194 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 100 02:32:04,194 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-2, prevLogIndex=45, prevLogTerm=1, leaderCommit=46, replicatedToAllIndex=100, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=101, term=2, command=foo]]} 02:32:04,194 PM [main] [INFO] Follower - follower (Follower): The log is not empty but the prevLogIndex 45 was not found in it - lastIndex: 100, snapshotIndex: -1, snapshotTerm: -1 02:32:04,195 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=2, success=false, followerId=follower, logLastIndex=100, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:04,195 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-2, need to catch up to 46 02:32:04,195 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior501#1425793350] 02:32:04,206 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower502#769056672] 02:32:04,206 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader503#-1141941329] 02:32:04,209 PM [main] [INFO] FollowerTest - Starting testHandleElectionTimeoutWhenNoLeaderMessageReceived 02:32:04,209 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,409 PM [main] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 02:32:04,410 PM [main] [DEBUG] Follower - follower (Follower): Checking if this node is isolated in the cluster unreachable set [],all members [] self member: Member(pekko://test@10.30.170.110:17355, Removed) 02:32:04,410 PM [main] [DEBUG] Follower - follower (Follower): Received ElectionTimeout - switching to Candidate 02:32:04,410 PM [main] [DEBUG] Candidate - follower (Candidate): Election: Candidate has following voting peers: [] 02:32:04,410 PM [main] [INFO] Candidate - follower (Candidate): Starting new election term 2 02:32:04,410 PM [main] [INFO] RaftActorBehavior - follower (Follower) :- Switching from behavior Follower to Candidate, election term: 2 02:32:04,410 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior504#-926001230] 02:32:04,421 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower505#-523857209] 02:32:04,421 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader506#-1034445405] 02:32:04,424 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,424 PM [main] [DEBUG] PeerInfos - follower: Updated server config: isVoting: false, peers: [] 02:32:04,625 PM [main] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 02:32:04,625 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior507#-1709853371] 02:32:04,636 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower508#1588599225] 02:32:04,636 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader509#575696778] 02:32:04,639 PM [main] [INFO] FollowerTest - Starting testHandleRequestVoteWhenSenderTermEqualToCurrentTermAndVotedForIsNull 02:32:04,640 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,642 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): In requestVote: RequestVote{term=1000, candidateId=test, lastLogIndex=10000, lastLogTerm=999} - currentTerm: 1000, votedFor: null, lastIndex: 1, lastTerm: 1 02:32:04,642 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): requestVote returning: RequestVoteReply{term=1000, voteGranted=true} 02:32:04,643 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior510#297657216] 02:32:04,653 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower511#-94705422] 02:32:04,654 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader512#1232765241] 02:32:04,656 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesAddNewEntries 02:32:04,656 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,657 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader-1, prevLogIndex=2, prevLogTerm=1, leaderCommit=4, replicatedToAllIndex=-1, payloadVersion=10, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=3, term=1, command=three], DefaultLogEntry[index=4, term=1, command=four]]} 02:32:04,658 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 2 02:32:04,658 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 2, entries to be added from: 0 02:32:04,658 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log three 02:32:04,658 PM [main] [DEBUG] Follower - follower (Follower): Append entry to log four 02:32:04,658 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 5 02:32:04,658 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 4 02:32:04,658 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower, logLastIndex=4, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:04,658 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 4 02:32:04,658 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 4, context.getLastApplied(): -1, lastIndex(): 4 02:32:04,659 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 0 02:32:04,659 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 0 02:32:04,659 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 1 02:32:04,659 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 0 to 1 02:32:04,659 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 2 02:32:04,659 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 1 to 2 02:32:04,659 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 3 02:32:04,659 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 2 to 3 02:32:04,659 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 4 02:32:04,659 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from 3 to 4 02:32:04,660 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior513#-203698041] 02:32:04,671 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower514#-473387535] 02:32:04,671 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader515#1229605430] 02:32:04,673 PM [main] [INFO] FollowerTest - Starting testReceivingAppendEntriesDuringInstallSnapshot 02:32:04,673 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,674 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=1, lastIncludedTerm=1, datasize=50, chunk=1/2, lastChunkHashCode=OptionalInt.empty} 02:32:04,674 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 1 02:32:04,674 PM [main] [DEBUG] SnapshotTracker - follower (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 02:32:04,674 PM [main] [DEBUG] Follower - follower (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=follower, chunkIndex=1, success=true} 02:32:04,675 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=1, prevLogTerm=1, leaderCommit=2, replicatedToAllIndex=-1, payloadVersion=1, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=1, term=2, command=3]]} 02:32:04,676 PM [main] [DEBUG] Follower - follower (Follower): snapshot install is in progress, replying immediately with AppendEntriesReply{term=1, success=true, followerId=follower, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:04,676 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior516#-413135143] 02:32:04,687 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower517#-115348490] 02:32:04,687 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader518#-120026792] 02:32:04,690 PM [main] [INFO] FollowerTest - Starting testHandleAppendEntriesWhenOutOfSyncLogDetectedRequestForceInstallSnapshot 02:32:04,690 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:04,691 PM [main] [INFO] Follower - follower (Follower): Term 2 in "AppendEntries{term=2, leaderId=leader, prevLogIndex=1, prevLogTerm=1, leaderCommit=3, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=2, term=2, command=two-1], DefaultLogEntry[index=3, term=2, command=three]]}" message is greater than follower's term 1 - updating term 02:32:04,691 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader, prevLogIndex=1, prevLogTerm=1, leaderCommit=3, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=2, term=2, command=two-1], DefaultLogEntry[index=3, term=2, command=three]]} 02:32:04,691 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 2 02:32:04,692 PM [main] [DEBUG] Follower - follower (Follower): matchEntry DefaultLogEntry[index=2, term=2, command=two-1] is present: existingEntryTerm: 1 02:32:04,692 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to 3 02:32:04,692 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior519#1906694082] 02:32:04,703 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower520#-305388116] 02:32:04,703 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader521#96297899] 02:32:04,706 PM [main] [INFO] FollowerTest - Starting testCaptureSnapshotOnMiddleEntryInAppendEntries 02:32:04,707 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: Starting recovery with journal batch size 1000 02:32:04,707 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: started executor 02:32:04,707 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: started executor [WARN] [06/26/2025 14:32:04.707] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries]: org.opendaylight.controller.cluster.common.actor.Monitor@2e86d4e6 [INFO] [pekkoDeadLetter][06/26/2025 14:32:04.708] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] to Actor[pekko://test/user/termination-monitor] was not delivered. [5] dead letters encountered. If this is not an expected behavior then Actor[pekko://test/user/termination-monitor] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:04,708 PM [test-pekko.actor.default-dispatcher-15] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] to Actor[pekko://test/user/termination-monitor] was not delivered. [5] dead letters encountered. If this is not an expected behavior then Actor[pekko://test/user/termination-monitor] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:04,709 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/TermInfo.properties does not exist 02:32:04,709 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: no eligible files found 02:32:04,709 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - testCaptureSnapshotOnMiddleEntryInAppendEntries: Set currentTerm=1, votedFor=null 02:32:04,709 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - testCaptureSnapshotOnMiddleEntryInAppendEntries: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 02:32:04,712 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - testCaptureSnapshotOnMiddleEntryInAppendEntries: Set currentTerm=1, votedFor=null 02:32:04,712 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - testCaptureSnapshotOnMiddleEntryInAppendEntries: Local TermInfo store seeded with TermInfo{term=1} 02:32:04,712 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@10df9821 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=2, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[DefaultLogEntry[index=0, term=1, command=one], DefaultLogEntry[index=1, term=1, command=two], DefaultLogEntry[index=2, term=1, command=three]]} 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): Number of entries to be appended = 3 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): Append entry to log one 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnMiddleEntryInAppendEntries: Append log entry and persist DefaultLogEntry[index=0, term=1, command=one] 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): Append entry to log two 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnMiddleEntryInAppendEntries: Append log entry and persist DefaultLogEntry[index=1, term=1, command=two] 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): Append entry to log three 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnMiddleEntryInAppendEntries: Append log entry and persist DefaultLogEntry[index=2, term=1, command=three] 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): Log size is now 3 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): Commit index set to 2 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=testCaptureSnapshotOnMiddleEntryInAppendEntries, logLastIndex=2, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - testCaptureSnapshotOnMiddleEntryInAppendEntries: Last sync leader does not match current leader leader, need to catch up to 2 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 2, context.getLastApplied(): -1, lastIndex(): 2 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): Setting last applied to 0 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - testCaptureSnapshotOnMiddleEntryInAppendEntries: Moving last applied index from -1 to 0 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: Applying state for log index 0 data one 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: applyState called: one 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): Setting last applied to 1 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - testCaptureSnapshotOnMiddleEntryInAppendEntries: Moving last applied index from 0 to 1 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: Applying state for log index 1 data two 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: applyState called: two 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - testCaptureSnapshotOnMiddleEntryInAppendEntries (Follower): Setting last applied to 2 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - testCaptureSnapshotOnMiddleEntryInAppendEntries: Moving last applied index from 1 to 2 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: Applying state for log index 2 data three 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: applyState called: three 02:32:04,713 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: Persisting ApplyJournalEntries with index=2 02:32:04,714 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnMiddleEntryInAppendEntries: persist complete JournaledLogEntry{index=0, term=1, command=one, pending=false} 02:32:04,714 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnMiddleEntryInAppendEntries: persist complete JournaledLogEntry{index=1, term=1, command=two, pending=false} 02:32:04,714 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - testCaptureSnapshotOnMiddleEntryInAppendEntries: persist complete JournaledLogEntry{index=2, term=1, command=three, pending=false} 02:32:04,714 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - testCaptureSnapshotOnMiddleEntryInAppendEntries: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=2, lastAppliedTerm=1, lastIndex=2, lastTerm=1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=false] 02:32:04,714 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - testCaptureSnapshotOnMiddleEntryInAppendEntries: captured snapshot at lastSequenceNumber: 4 02:32:04,714 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - testCaptureSnapshotOnMiddleEntryInAppendEntries: Persising snapshot at EntryInfo[index=2, term=1]/EntryInfo[index=2, term=1] 02:32:04,714 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: support() called 02:32:04,715 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - testCaptureSnapshotOnMiddleEntryInAppendEntries: log size 3 exceeds the snapshot batch count 2 - doing snapshotPreCommit with index 2 02:32:04,715 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - testCaptureSnapshotOnMiddleEntryInAppendEntries: Removed in-memory snapshotted entries, adjusted snaphsotIndex: 2 and term: 1 02:32:04,715 PM [testCaptureSnapshotOnMiddleEntryInAppendEntries-%d251645] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/snapshot-00000000685D59E4-2A9D1C9F.tmp [WARN] [06/26/2025 14:32:04.715] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=testCaptureSnapshotOnMiddleEntryInAppendEntries, initialSyncDone=false] 02:32:04,715 PM [test-pekko.actor.default-dispatcher-6] [INFO] TestActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] was unhandled. [6] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. [INFO] [pekkoDeadLetter][06/26/2025 14:32:04.715] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] was unhandled. [6] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:04,717 PM [testCaptureSnapshotOnMiddleEntryInAppendEntries-%d251645] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/snapshot-00000000685D59E4-2A9D1C9F.v1 02:32:04,717 PM [testCaptureSnapshotOnMiddleEntryInAppendEntries-%d251645] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/snapshot-00000000685D59E4-2A9D1C9F.v1 02:32:04,717 PM [testCaptureSnapshotOnMiddleEntryInAppendEntries-%d251645] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/TermInfo.properties 02:32:04,717 PM [testCaptureSnapshotOnMiddleEntryInAppendEntries-%d251645] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=2, term=1], timestamp=2025-06-26T14:32:04.714939551Z, file=/tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/snapshot-00000000685D59E4-2A9D1C9F.v1, size=573, entryCompress=NONE, stateCompress=NONE} 02:32:04,717 PM [test-pekko.actor.default-dispatcher-14] [INFO] SnapshotManager - testCaptureSnapshotOnMiddleEntryInAppendEntries: snapshot is durable as of 2025-06-26T14:32:04.714939551Z 02:32:04,717 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] SnapshotManager - testCaptureSnapshotOnMiddleEntryInAppendEntries: Snapshot success - sequence number: 4 02:32:04,717 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftActorSnapshotMessageSupport - testCaptureSnapshotOnMiddleEntryInAppendEntries: SnapshotComplete received 02:32:04,717 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: handled a journal response 02:32:04,815 PM [awaitility-thread] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/snapshot-00000000685D59E4-2A9D1C9F.v1 02:32:04,815 PM [awaitility-thread] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/TermInfo.properties 02:32:04,815 PM [awaitility-thread] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: picked SnapshotFileV1{lastIncluded=EntryInfo[index=2, term=1], timestamp=2025-06-26T14:32:04.714939551Z, file=/tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/snapshot-00000000685D59E4-2A9D1C9F.v1, size=573, entryCompress=NONE, stateCompress=NONE} as the latest file 02:32:04,817 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] 02:32:04,828 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: stopped executor with 0 remaining tasks 02:32:04,828 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: stopped executor with 0 remaining tasks [WARN] [06/26/2025 14:32:04.829] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries]: org.opendaylight.controller.cluster.common.actor.Monitor@40a0aac6 [INFO] [pekkoDeadLetter][06/26/2025 14:32:04.829] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] to Actor[pekko://test/user/termination-monitor] was not delivered. [7] dead letters encountered. If this is not an expected behavior then Actor[pekko://test/user/termination-monitor] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:04,829 PM [test-pekko.actor.default-dispatcher-6] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] to Actor[pekko://test/user/termination-monitor] was not delivered. [7] dead letters encountered. If this is not an expected behavior then Actor[pekko://test/user/termination-monitor] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 02:32:04,830 PM [test-pekko.actor.default-dispatcher-14] [INFO] RaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: Starting recovery with journal batch size 1000 02:32:04,830 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: started executor 02:32:04,830 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: started executor 02:32:04,832 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - testCaptureSnapshotOnMiddleEntryInAppendEntries: Set currentTerm=1, votedFor=null 02:32:04,832 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/snapshot-00000000685D59E4-2A9D1C9F.v1 02:32:04,832 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/TermInfo.properties 02:32:04,832 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: picked SnapshotFileV1{lastIncluded=EntryInfo[index=2, term=1], timestamp=2025-06-26T14:32:04.714939551Z, file=/tmp/org.opendaylight.controller.cluster.raft.behaviors.FollowerTest1806394198013281333/testCaptureSnapshotOnMiddleEntryInAppendEntries/snapshot-00000000685D59E4-2A9D1C9F.v1, size=573, entryCompress=NONE, stateCompress=NONE} as the latest file 02:32:04,833 PM [test-pekko.actor.default-dispatcher-6] [INFO] MockRaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: support() called 02:32:04,833 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PekkoRecovery - testCaptureSnapshotOnMiddleEntryInAppendEntries: initializing from snapshot taken at 2025-06-26T14:32:04.714939551Z 02:32:04,833 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - testCaptureSnapshotOnMiddleEntryInAppendEntries: Set currentTerm=1, votedFor=null 02:32:04,833 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - Recovery snapshot applied for testCaptureSnapshotOnMiddleEntryInAppendEntries in 123.9 μs: snapshotIndex=2, snapshotTerm=1, journal-size=0 02:32:04,834 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PekkoRecovery - testCaptureSnapshotOnMiddleEntryInAppendEntries: Received apply journal entries for recovery, applying to state: 3 to 2 02:32:04,834 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - testCaptureSnapshotOnMiddleEntryInAppendEntries: Moving last applied index from 2 to 2 02:32:04,834 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - testCaptureSnapshotOnMiddleEntryInAppendEntries: Recovery completed in 531.4 μs - Switching actor to Follower - last log index = 2, last log term = 1, snapshot index = 2, snapshot term = 1, journal size = 0 02:32:04,834 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PekkoRecovery - testCaptureSnapshotOnMiddleEntryInAppendEntries: restoring local TermInfo{term=1} 02:32:04,834 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - testCaptureSnapshotOnMiddleEntryInAppendEntries: Set currentTerm=1, votedFor=null 02:32:04,834 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - testCaptureSnapshotOnMiddleEntryInAppendEntries: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@6dc4d428 02:32:04,835 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior522#-853977174] 02:32:04,845 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower523#-1105155387] 02:32:04,846 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader524#-1733137831] 02:32:04,846 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/testCaptureSnapshotOnMiddleEntryInAppendEntries] 02:32:04,846 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: stopped executor with 0 remaining tasks 02:32:04,846 PM [test-pekko.actor.default-dispatcher-14] [DEBUG] RaftStorage - testCaptureSnapshotOnMiddleEntryInAppendEntries: stopped executor with 0 remaining tasks 02:32:04,849 PM [main] [INFO] FollowerTest - Starting testHandleElectionTimeoutWhenLeaderMessageReceived 02:32:04,849 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,150 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to -1 02:32:05,280 PM [main] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 02:32:05,280 PM [main] [DEBUG] Follower - follower (Follower): Received ElectionTimeout but lastLeaderMessageInterval 130 < election timeout PT0.4S 02:32:05,531 PM [main] [DEBUG] SyncStatusTracker - follower: Lagging -2 entries behind leader leader and reached 1 (of expected -1) 02:32:05,731 PM [main] [DEBUG] Follower - follower (Follower): Received ElectionTimeout but lastLeaderMessageInterval 200 < election timeout PT0.4S 02:32:05,731 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior525#1842921192] 02:32:05,742 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower526#-266854822] 02:32:05,742 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader527#-754232645] 02:32:05,745 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,745 PM [main] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 02:32:05,745 PM [main] [DEBUG] Follower - follower (Follower): Received TimeoutNow - switching to Candidate 02:32:05,746 PM [main] [DEBUG] Candidate - follower (Candidate): Election: Candidate has following voting peers: [] 02:32:05,746 PM [main] [INFO] Candidate - follower (Candidate): Starting new election term 2 02:32:05,746 PM [main] [INFO] RaftActorBehavior - follower (Follower) :- Switching from behavior Follower to Candidate, election term: 2 02:32:05,746 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior528#-438239873] 02:32:05,757 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower529#-743019157] 02:32:05,757 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader530#-771823803] 02:32:05,759 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,761 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): In requestVote: RequestVote{term=1, candidateId=test, lastLogIndex=10000, lastLogTerm=999} - currentTerm: 1, votedFor: test, lastIndex: 1, lastTerm: 1 02:32:05,762 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): requestVote returning: RequestVoteReply{term=1, voteGranted=true} 02:32:05,762 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior531#2013526024] 02:32:05,773 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower532#-1988745242] 02:32:05,773 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader533#-1476833921] 02:32:05,775 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,776 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=leader-1, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=2, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[SimpleReplicatedLogEntry [index=0, term=2, payload=zero]]} 02:32:05,777 PM [main] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 02:32:05,777 PM [main] [DEBUG] Follower - follower (Follower): matchEntry SimpleReplicatedLogEntry [index=0, term=2, payload=zero] is present: existingEntryTerm: 2 02:32:05,777 PM [main] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 0, entries to be added from: 1 02:32:05,777 PM [main] [DEBUG] Follower - follower (Follower): Log size is now 1 02:32:05,777 PM [main] [DEBUG] Follower - follower (Follower): Commit index set to 0 02:32:05,777 PM [main] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=2, success=true, followerId=follower, logLastIndex=0, logLastTerm=2, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:05,777 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 2 02:32:05,777 PM [main] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 2, context.getLastApplied(): -1, lastIndex(): 0 02:32:05,778 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 0 02:32:05,778 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 0 02:32:05,778 PM [main] [WARN] RaftActorBehavior - follower (Follower): Missing index 1 from log. Cannot apply state. Ignoring 1 to 2 02:32:05,778 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior534#-257490564] 02:32:05,789 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower535#-1062034473] 02:32:05,789 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader536#924572963] 02:32:05,792 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,793 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): In requestVote: RequestVote{term=1, candidateId=test, lastLogIndex=1999, lastLogTerm=1} - currentTerm: 1, votedFor: test, lastIndex: 2000, lastTerm: 1 02:32:05,794 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): requestVote returning: RequestVoteReply{term=1, voteGranted=false} 02:32:05,794 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior537#1485209005] 02:32:05,805 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower538#565378127] 02:32:05,805 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader539#-1039241479] 02:32:05,807 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,808 PM [main] [INFO] Follower - follower (Follower): Term 100 in "AppendEntries{term=100, leaderId=leader-1, prevLogIndex=0, prevLogTerm=0, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 1 - updating term 02:32:05,808 PM [main] [INFO] Follower - follower (Follower): The prevLogIndex 0 was found in the log but the term 1 is not equal to the append entries prevLogTerm 0 - lastIndex: 0, snapshotIndex: -1, snapshotTerm: -1 02:32:05,809 PM [main] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=100, success=false, followerId=follower, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 02:32:05,809 PM [main] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader-1, need to catch up to 1 02:32:05,810 PM [main] [INFO] Follower - follower (Follower): Term 100 in "AppendEntriesReply{term=100, success=false, followerId=follower-1, logLastIndex=100, logLastTerm=100, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=0, raftVersion=5, recipientRaftVersion=5}" message is greater than follower's term 1 - updating term 02:32:05,811 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Found higher term in RequestVote rpc, verifying whether it's safe to update term. 02:32:05,811 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Cluster state: [] 02:32:05,811 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): Candidate in requestVote:RequestVote{term=100, candidateId=candidate-1, lastLogIndex=10, lastLogTerm=100} with higher term appears reachable, updating term. 02:32:05,811 PM [main] [INFO] Follower - follower (Follower): Term 100 in "RequestVote{term=100, candidateId=candidate-1, lastLogIndex=10, lastLogTerm=100}" message is greater than follower's term 1 - updating term 02:32:05,812 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): In requestVote: RequestVote{term=100, candidateId=candidate-1, lastLogIndex=10, lastLogTerm=100} - currentTerm: 100, votedFor: null, lastIndex: 0, lastTerm: 1 02:32:05,813 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): requestVote returning: RequestVoteReply{term=100, voteGranted=true} 02:32:05,813 PM [main] [INFO] Follower - follower (Follower): Term 100 in "RequestVoteReply{term=100, voteGranted=false}" message is greater than follower's term 1 - updating term 02:32:05,814 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior540#2086880180] 02:32:05,825 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower541#-99116501] 02:32:05,825 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader542#1661657981] 02:32:05,827 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,828 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 0 02:32:05,828 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 0 02:32:05,828 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,828 PM [main] [DEBUG] SnapshotManager - test: fakeSnapshot purging log to 0 for term 1 02:32:05,829 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 2 02:32:05,829 PM [main] [DEBUG] SnapshotManager - test: fakeSnapshot purging log to 1 for term 1 02:32:05,829 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 2 02:32:05,829 PM [main] [DEBUG] SnapshotManager - test: fakeSnapshot purging log to 1 for term 1 02:32:05,829 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior543#512151514] 02:32:05,840 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower544#-587415381] 02:32:05,840 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader545#-166126836] 02:32:05,842 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,843 PM [main] [INFO] RaftActorBehavior - follower (Follower): Cannot append entries because sender's term 100 is less than 1000 02:32:05,844 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior546#928756039] 02:32:05,854 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower547#-377602324] 02:32:05,854 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader548#53789142] 02:32:05,859 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 02:32:05,861 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): In requestVote: RequestVote{term=999, candidateId=test, lastLogIndex=10000, lastLogTerm=999} - currentTerm: 1000, votedFor: null, lastIndex: 1, lastTerm: 1 02:32:05,861 PM [main] [DEBUG] RaftActorBehavior - follower (Follower): requestVote returning: RequestVoteReply{term=1000, voteGranted=false} 02:32:05,862 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/behavior549#1255098824] 02:32:05,872 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/follower550#222256766] 02:32:05,872 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader551#1722502629] [INFO] [06/26/2025 14:32:05.873] [main] [CoordinatedShutdown(pekko://test)] Running CoordinatedShutdown with reason [ActorSystemTerminateReason] 02:32:05,873 PM [test-pekko.actor.default-dispatcher-6] [INFO] CoordinatedShutdown - Running CoordinatedShutdown with reason [ActorSystemTerminateReason] [WARN] [06/26/2025 14:32:05.874] [test-pekko.actor.default-dispatcher-6] [pekko://test/system/cluster/core/daemon] unhandled message from Actor[pekko://test/deadLetters]: Leave(pekko://test@10.30.170.110:17355) 02:32:05,874 PM [test-pekko.actor.default-dispatcher-14] [INFO] LocalActorRef - pekkoDeadLetter Message [org.apache.pekko.cluster.ClusterUserAction$Leave] to Actor[pekko://test/system/cluster/core/daemon#-1307798206] was unhandled. [8] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. [INFO] [pekkoDeadLetter][06/26/2025 14:32:05.874] [test-pekko.actor.default-dispatcher-14] [pekko://test/system/cluster/core/daemon] Message [org.apache.pekko.cluster.ClusterUserAction$Leave] to Actor[pekko://test/system/cluster/core/daemon#-1307798206] was unhandled. [8] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. [INFO] [06/26/2025 14:32:05.875] [test-pekko.actor.internal-dispatcher-5] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.170.110:17355] - Exiting completed [INFO] [06/26/2025 14:32:05.875] [test-pekko.actor.internal-dispatcher-5] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.170.110:17355] - Shutting down... [INFO] [06/26/2025 14:32:05.875] [test-pekko.actor.internal-dispatcher-5] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.170.110:17355] - Successfully shut down 02:32:05,875 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.170.110:17355] - Exiting completed 02:32:05,875 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.170.110:17355] - Shutting down... 02:32:05,875 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.170.110:17355] - Successfully shut down [INFO] [06/26/2025 14:32:05.877] [test-pekko.remote.default-remote-dispatcher-8] [pekko://test@10.30.170.110:17355/system/remoting-terminator] Shutting down remote daemon. [INFO] [06/26/2025 14:32:05.877] [test-pekko.remote.default-remote-dispatcher-8] [pekko://test@10.30.170.110:17355/system/remoting-terminator] Remote daemon shut down; proceeding with flushing remote transports. 02:32:05,877 PM [test-pekko.actor.default-dispatcher-14] [INFO] RemoteActorRefProvider$RemotingTerminator - Shutting down remote daemon. 02:32:05,877 PM [test-pekko.actor.default-dispatcher-14] [INFO] RemoteActorRefProvider$RemotingTerminator - Remote daemon shut down; proceeding with flushing remote transports. [INFO] [06/26/2025 14:32:05.878] [test-pekko.remote.default-remote-dispatcher-9] [pekko://test@10.30.170.110:17355/system/remoting-terminator] Remoting shut down. 02:32:05,878 PM [test-pekko.actor.default-dispatcher-14] [INFO] RemoteActorRefProvider$RemotingTerminator - Remoting shut down.