[DEBUG] [06/25/2025 18:36:48.088] [main] [EventStream(pekko://test)] logger log1-TestEventListener started 06:36:48,90 PM [test-pekko.actor.default-dispatcher-5] [INFO] Slf4jLogger - Slf4jLogger started [DEBUG] [06/25/2025 18:36:48.090] [main] [EventStream(pekko://test)] logger log2-Slf4jLogger started [DEBUG] [06/25/2025 18:36:48.090] [main] [EventStream(pekko://test)] Default Loggers started [INFO] [06/25/2025 18:36:48.104] [main] [ArteryTransport(pekko://test)] Remoting started with transport [Artery tcp]; listening on address [pekko://test@10.30.171.159:17355] with UID [-6266560312358191774] 06:36:48,105 PM [test-pekko.actor.default-dispatcher-5] [INFO] ArteryTransport - Remoting started with transport [Artery tcp]; listening on address [pekko://test@10.30.171.159:17355] with UID [-6266560312358191774] 06:36:48,106 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.171.159:17355] - Starting up, Pekko version [1.0.3] ... 06:36:48,108 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.171.159:17355] - Registered cluster JMX MBean [pekko:type=Cluster] 06:36:48,108 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.171.159:17355] - Started up successfully 06:36:48,109 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.171.159:17355] - No downing-provider-class configured, manual cluster downing required, see https://pekko.apache.org/docs/pekko/current/typed/cluster.html#downing 06:36:48,109 PM [test-pekko.actor.default-dispatcher-6] [INFO] Cluster - Cluster Node [pekko://test@10.30.171.159:17355] - No seed-nodes configured, manual cluster join required, see https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining [INFO] [06/25/2025 18:36:48.105] [main] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.171.159:17355] - Starting up, Pekko version [1.0.3] ... [INFO] [06/25/2025 18:36:48.108] [main] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.171.159:17355] - Registered cluster JMX MBean [pekko:type=Cluster] [INFO] [06/25/2025 18:36:48.108] [main] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.171.159:17355] - Started up successfully [INFO] [06/25/2025 18:36:48.109] [test-pekko.actor.internal-dispatcher-3] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.171.159:17355] - No downing-provider-class configured, manual cluster downing required, see https://pekko.apache.org/docs/pekko/current/typed/cluster.html#downing [INFO] [06/25/2025 18:36:48.109] [test-pekko.actor.internal-dispatcher-3] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.171.159:17355] - No seed-nodes configured, manual cluster join required, see https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining 06:36:48,129 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithOperationInProgress starting 06:36:48,132 PM [test-pekko.actor.default-dispatcher-6] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/new-server109] 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'. [WARN] [06/25/2025 18:36:48.133] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server109]: org.opendaylight.controller.cluster.common.actor.Monitor@12a18f05 [INFO] [pekkoDeadLetter][06/25/2025 18:36:48.132] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/new-server109] 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'. 06:36:48,134 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:36:48,134 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: started executor 06:36:48,134 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: started executor 06:36:48,140 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/TermInfo.properties does not exist 06:36:48,140 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: no eligible files found 06:36:48,140 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:48,143 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:36:48,143 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:36:48,143 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@8e3ff8 06:36:48,144 PM [test-pekko.actor.default-dispatcher-11] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:36:48.146] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader110]: org.opendaylight.controller.cluster.common.actor.Monitor@54a426a3 [INFO] [pekkoDeadLetter][06/25/2025 18:36:48.146] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/leader110] to Actor[pekko://test/user/termination-monitor] was not delivered. [2] 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'. 06:36:48,147 PM [test-pekko.actor.default-dispatcher-11] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/leader110] to Actor[pekko://test/user/termination-monitor] was not delivered. [2] 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'. 06:36:48,147 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:48,147 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:48,147 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: started executor 06:36:48,148 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: started executor 06:36:48,152 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/TermInfo.properties does not exist 06:36:48,152 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: no eligible files found 06:36:48,152 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:48,169 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:48,169 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:48,169 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@7bcf72f6 06:36:48,170 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:48,170 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server109, votingMember=true], state: Idle 06:36:48,179 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server109, votingMember=true] 06:36:48,180 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractReplicatedLog - leader: Capturing Snapshot : lastLogEntry is null. Using snapshot values lastAppliedIndex -1 and lastAppliedTerm -1 instead. 06:36:48,180 PM [test-pekko.actor.default-dispatcher-12] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=false] to install on new-server 06:36:48,180 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - leader: lastSequenceNumber prior to capture: -1 06:36:48,180 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - leader: support() called 06:36:48,181 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating capture snapshot for new server new-server 06:36:48,184 PM [test-pekko.actor.default-dispatcher-12] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=-1, term=-1]/EntryInfo[index=-1, term=-1] 06:36:48,184 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - leader: support() called 06:36:48,184 PM [leader-%d729276] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0AFBE055.tmp 06:36:48,184 PM [test-pekko.actor.default-dispatcher-12] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: -1 and term: -1 06:36:48,184 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendInstallSnapshot 06:36:48,184 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Snapshot 157 bytes, total chunks to send: 1 06:36:48,184 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Next chunk: total length=157, offset=0, size=157, hashCode=1546036366 06:36:48,184 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): next snapshot chunk size for follower new-server: 157 06:36:48,184 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): InstallSnapshot sent to follower Vector(user, new-server109), Chunk: 1/1 06:36:48,186 PM [leader-%d729276] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0AFBE055.v1 06:36:48,186 PM [leader-%d729276] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0AFBE055.v1 06:36:48,186 PM [leader-%d729276] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/TermInfo.properties 06:36:48,186 PM [leader-%d729276] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.184279125Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0AFBE055.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:48,186 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - leader: snapshot is durable as of 2025-06-25T18:36:48.184279125Z 06:36:48,186 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SnapshotManager - leader: Snapshot success - sequence number: -1 06:36:48,187 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorSnapshotMessageSupport - leader: SnapshotComplete received 06:36:48,202 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server2, newServerAddress=pekko://test/user/follower107, votingMember=false], state: InstallingSnapshot 06:36:48,202 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Server operation already in progress - queueing AddServer [newServerId=new-server2, newServerAddress=pekko://test/user/follower107, votingMember=false] 06:36:48,202 PM [test-pekko.actor.default-dispatcher-5] [INFO] Follower - new-server (Follower): Term 1 in "InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=-1, lastIncludedTerm=-1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]}" message is greater than follower's term 0 - updating term 06:36:48,205 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=1, votedFor=null 06:36:48,205 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=-1, lastIncludedTerm=-1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]} 06:36:48,205 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SyncStatusTracker - new-server: Last sync leader does not match current leader leader, need to catch up to -1 06:36:48,205 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SnapshotTracker - new-server (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 06:36:48,205 PM [test-pekko.actor.default-dispatcher-5] [INFO] Follower - new-server (Follower): Snapshot received from leader: leader 06:36:48,206 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - new-server: Applying snapshot on follower: PlainSnapshotSource{io=MemoryStreamSource{size=157}} 06:36:48,206 PM [test-pekko.actor.default-dispatcher-5] [INFO] MockRaftActor - new-server: support() called [WARN] [06/25/2025 18:36:48.206] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/new-server109] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=false] 06:36:48,206 PM [test-pekko.actor.default-dispatcher-12] [INFO] TestActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/new-server109] was unhandled. [3] 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/25/2025 18:36:48.206] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/new-server109] Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/new-server109] was unhandled. [3] 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'. 06:36:48,206 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SnapshotManager - new-server: Converted InstallSnapshot from leader: leader to state 06:36:48,206 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SnapshotManager - new-server: lastSequenceNumber prior to persisting applied snapshot: -1 06:36:48,206 PM [test-pekko.actor.default-dispatcher-5] [INFO] MockRaftActor - new-server: support() called 06:36:48,207 PM [new-server-%d264771] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0C582C18.tmp 06:36:48,209 PM [new-server-%d264771] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0C582C18.v1 06:36:48,209 PM [new-server-%d264771] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0C582C18.v1 06:36:48,209 PM [new-server-%d264771] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/TermInfo.properties 06:36:48,209 PM [new-server-%d264771] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.207105048Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0C582C18.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:48,210 PM [test-pekko.actor.default-dispatcher-11] [INFO] SnapshotManager - new-server: snapshot is durable as of 2025-06-25T18:36:48.207105048Z 06:36:48,210 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SnapshotManager - new-server: Snapshot success - sequence number: -1 06:36:48,210 PM [test-pekko.actor.default-dispatcher-11] [INFO] MockRaftActor - new-server: support() called 06:36:48,211 PM [test-pekko.actor.default-dispatcher-11] [INFO] MockRaftActor - new-server: applySnapshot called 06:36:48,211 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:48,211 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): handleInstallSnapshotReply: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:48,211 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorSnapshotMessageSupport - new-server: SnapshotComplete received 06:36:48,211 PM [test-pekko.actor.default-dispatcher-5] [INFO] AbstractLeader - leader (Leader): Snapshot successfully installed on follower new-server (last chunk 1) - matchIndex set to -1, nextIndex set to 0 06:36:48,212 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - Sent message UnInitializedFollowerSnapshotReply to self 06:36:48,212 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: onUnInitializedFollowerSnapshotReply: UnInitializedFollowerSnapshotReply [followerId=new-server] 06:36:48,212 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]] 06:36:48,212 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - leader: Persist data index=0 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:48,212 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:48,213 PM [leader-%d729277] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0CB22474.tmp 06:36:48,213 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=afb3d948-98ec-4c58-a679-b44ae98d10b7}, logIndex: 0, isSendImmediate: true 06:36:48,213 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:36:48,213 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:48,213 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:48,213 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:48,213 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:48,214 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): Number of entries to be appended = 1 06:36:48,214 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 06:36:48,214 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:48,214 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - new-server: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:48,214 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0CC54D3B.tmp 06:36:48,214 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server109, votingMember=true] 06:36:48,215 PM [leader-%d729277] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0CB22474.v1 06:36:48,215 PM [leader-%d729277] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0CB22474.v1 06:36:48,215 PM [leader-%d729277] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0AFBE055.v1 06:36:48,215 PM [leader-%d729277] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/TermInfo.properties 06:36:48,215 PM [leader-%d729277] [DEBUG] RaftStorage - leader: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.184279125Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0AFBE055.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:48,216 PM [leader-%d729277] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.213001332Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0CB22474.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:48,216 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0CC54D3B.v1 06:36:48,216 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0C582C18.v1 06:36:48,216 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:48,216 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0CC54D3B.v1 06:36:48,216 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/TermInfo.properties 06:36:48,216 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.207105048Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0C582C18.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:48,217 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.214256955Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0CC54D3B.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:48,217 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - new-server: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:48,217 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - new-server: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=null, votingState=VOTING]] 06:36:48,217 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): Log size is now 1 06:36:48,217 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=new-server, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:48,217 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached -1 (of expected -1) 06:36:48,217 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: 0, nextIndex: 1 06:36:48,217 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Applying to log - commitIndex: 0, lastAppliedIndex: -1 06:36:48,217 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 0 06:36:48,217 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from -1 to 0 06:36:48,217 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - leader: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:48,217 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:36:48.217] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/new-server109] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=true] [INFO] [pekkoDeadLetter][06/25/2025 18:36:48.217] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/new-server109] Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/new-server109] 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'. 06:36:48,217 PM [test-pekko.actor.default-dispatcher-11] [INFO] TestActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/new-server109] 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'. 06:36:48,217 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): Commit index set to 0 06:36:48,218 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:48,218 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:36:48,218 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - new-server (Follower): Setting last applied to 0 06:36:48,218 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - new-server: Moving last applied index from -1 to 0 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server2, newServerAddress=pekko://test/user/follower107, votingMember=false] 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: New follower is non-voting - directly persisting new server configuration 06:36:48,218 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - new-server: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]] 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - leader: Persist data index=1 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:48,218 PM [leader-%d729278] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0D0489A8.tmp 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=e60a01c6-2e9a-47b1-9b2f-6aa7884792fe}, logIndex: 1, isSendImmediate: true 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 1, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 1 is present for follower new-server 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:48,218 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server2: active: false, followerNextIndex: 0, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:36:48,219 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation AddServer [newServerId=new-server2, newServerAddress=pekko://test/user/follower107, votingMember=false] 06:36:48,219 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:48,219 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - new-server2: Last sync leader does not match current leader leader, need to catch up to -1 06:36:48,219 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Number of entries to be appended = 1 06:36:48,219 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): After cleanup, lastIndex: 0, entries to be added from: 0 06:36:48,219 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:48,219 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - new-server: Append log entry and persist JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:48,219 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0D11FA9B.tmp 06:36:48,219 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 1 is present for follower new-server 06:36:48,219 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server2 06:36:48,219 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server2: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}, JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:48,221 PM [leader-%d729278] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0D0489A8.v1 06:36:48,221 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0D11FA9B.v1 06:36:48,221 PM [leader-%d729278] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0CB22474.v1 06:36:48,221 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0D11FA9B.v1 06:36:48,221 PM [leader-%d729278] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0D0489A8.v1 06:36:48,221 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0CC54D3B.v1 06:36:48,221 PM [leader-%d729278] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/TermInfo.properties 06:36:48,222 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/TermInfo.properties 06:36:48,222 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.214256955Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0CC54D3B.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:48,222 PM [leader-%d729278] [DEBUG] RaftStorage - leader: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.213001332Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0CB22474.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:48,222 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.219282075Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/new-server/snapshot-00000000685C41C0-0D11FA9B.v1, size=100, entryCompress=NONE, stateCompress=NONE} 06:36:48,222 PM [leader-%d729278] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.218401192Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9043992620442062386/leader/snapshot-00000000685C41C0-0D0489A8.v1, size=100, entryCompress=NONE, stateCompress=NONE} 06:36:48,222 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - new-server: persist complete JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:48,222 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - new-server: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=null, votingState=VOTING], PeerInfo [id=new-server2, address=null, votingState=NON_VOTING]] 06:36:48,222 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Log size is now 2 06:36:48,222 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=new-server, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:48,222 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:48,222 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:48,222 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: 1, nextIndex: 2 06:36:48,222 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Applying to log - commitIndex: 1, lastAppliedIndex: 0 06:36:48,222 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 1 06:36:48,222 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from 0 to 1 06:36:48,222 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - leader: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:48,222 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 2, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:36:48,222 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:36:48,223 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): Commit index set to 1 06:36:48,223 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 1 (of expected -1) 06:36:48,223 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 1, context.getLastApplied(): 0, lastIndex(): 1 06:36:48,223 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - new-server (Follower): Setting last applied to 1 06:36:48,223 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - new-server: Moving last applied index from 0 to 1 06:36:48,223 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - new-server: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:48,227 PM [test-pekko.actor.default-dispatcher-12] [ERROR] OneForOneStrategy - Cannot invoke "org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.getReplicatedToAllIndex()" because "currentBehavior" is null java.lang.NullPointerException: Cannot invoke "org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.getReplicatedToAllIndex()" because "currentBehavior" is null at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.SnapshotManager.trimLog(SnapshotManager.java:626) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.performSnapshotWithoutCapture(RaftActorBehavior.java:438) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.Follower.handleAppendEntries(Follower.java:221) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.appendEntries(RaftActorBehavior.java:152) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.handleMessage(RaftActorBehavior.java:375) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.Follower.handleMessage(Follower.java:500) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.ForwardMessageToBehaviorActor.onReceive(ForwardMessageToBehaviorActor.java:25) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.UntypedAbstractActor$$anonfun$receive$1.applyOrElse(AbstractActor.scala:341) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.Actor.aroundReceive(Actor.scala:547) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.Actor.aroundReceive$(Actor.scala:545) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.AbstractActor.aroundReceive(AbstractActor.scala:229) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.ActorCell.receiveMessage(ActorCell.scala:590) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.ActorCell.invoke(ActorCell.scala:557) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.processMailbox(Mailbox.scala:280) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.run(Mailbox.scala:241) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.exec(Mailbox.scala:253) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) [ERROR] [06/25/2025 18:36:48.226] [test-pekko.actor.internal-dispatcher-2] [pekko://test/user/follower107] Cannot invoke "org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.getReplicatedToAllIndex()" because "currentBehavior" is null java.lang.NullPointerException: Cannot invoke "org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.getReplicatedToAllIndex()" because "currentBehavior" is null at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.SnapshotManager.trimLog(SnapshotManager.java:626) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.performSnapshotWithoutCapture(RaftActorBehavior.java:438) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.Follower.handleAppendEntries(Follower.java:221) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.appendEntries(RaftActorBehavior.java:152) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.handleMessage(RaftActorBehavior.java:375) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.Follower.handleMessage(Follower.java:500) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.ForwardMessageToBehaviorActor.onReceive(ForwardMessageToBehaviorActor.java:25) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.UntypedAbstractActor$$anonfun$receive$1.applyOrElse(AbstractActor.scala:341) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.Actor.aroundReceive(Actor.scala:547) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.Actor.aroundReceive$(Actor.scala:545) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.AbstractActor.aroundReceive(AbstractActor.scala:229) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.ActorCell.receiveMessage(ActorCell.scala:590) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.ActorCell.invoke(ActorCell.scala:557) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.processMailbox(Mailbox.scala:280) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.run(Mailbox.scala:241) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.exec(Mailbox.scala:253) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) 06:36:48,270 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithOperationInProgress ending 06:36:48,270 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower107] 06:36:48,281 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector108#1494072922] 06:36:48,281 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server109] 06:36:48,283 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:48,283 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:48,284 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader110] 06:36:48,284 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:48,284 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:48,284 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector111] 06:36:48,288 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerNonExistentServer starting [WARN] [06/25/2025 18:36:48.289] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader113]: org.opendaylight.controller.cluster.common.actor.Monitor@1031dab2 06:36:48,289 PM [test-pekko.actor.default-dispatcher-6] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/leader113] 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'. [INFO] [pekkoDeadLetter][06/25/2025 18:36:48.289] [test-pekko.actor.default-dispatcher-5] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/leader113] 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'. 06:36:48,289 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:48,290 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:48,290 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: started executor 06:36:48,290 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: started executor 06:36:48,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest12497537397623637077/leader/TermInfo.properties does not exist 06:36:48,293 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: no eligible files found 06:36:48,293 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:48,295 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:48,295 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:48,295 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@3696de77 06:36:48,296 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [follower] 06:36:48,296 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 06:36:48,301 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: onRemoveServer: RemoveServer{serverId='new-server'}, state: Idle 06:36:48,302 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerNonExistentServer ending 06:36:48,302 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower112] 06:36:48,313 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader113] 06:36:48,313 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:48,313 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:48,316 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerWithNoLeader starting [WARN] [06/25/2025 18:36:48.317] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader115]: org.opendaylight.controller.cluster.common.actor.Monitor@584ff853 [INFO] [pekkoDeadLetter][06/25/2025 18:36:48.317] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/leader115] to Actor[pekko://test/user/termination-monitor] was not delivered. [6] 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'. 06:36:48,318 PM [test-pekko.actor.default-dispatcher-5] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/leader115] to Actor[pekko://test/user/termination-monitor] was not delivered. [6] 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'. 06:36:48,318 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:48,318 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: started executor 06:36:48,318 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: started executor 06:36:48,320 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10974279907839993257/leader/TermInfo.properties does not exist 06:36:48,320 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: no eligible files found 06:36:48,320 PM [test-pekko.actor.default-dispatcher-5] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:48,324 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=0, votedFor=null 06:36:48,324 PM [test-pekko.actor.default-dispatcher-5] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=0} 06:36:48,324 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@6d66c596 06:36:48,335 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: onRemoveServer: RemoveServer{serverId='follower'}, state: Idle 06:36:48,335 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: No leader - returning NO_LEADER reply 06:36:48,335 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerWithNoLeader ending 06:36:48,335 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower114] 06:36:48,346 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader115] 06:36:48,347 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:48,347 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:48,349 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerLeader starting [WARN] [06/25/2025 18:36:48.350] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader118]: org.opendaylight.controller.cluster.common.actor.Monitor@374e9a5a [INFO] [pekkoDeadLetter][06/25/2025 18:36:48.350] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/leader118] 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'. 06:36:48,350 PM [test-pekko.actor.default-dispatcher-6] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/leader118] 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'. 06:36:48,351 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:48,351 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:48,352 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: started executor 06:36:48,352 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: started executor 06:36:48,353 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/leader/TermInfo.properties does not exist 06:36:48,353 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: no eligible files found 06:36:48,353 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:48,356 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:48,356 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:48,356 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@220df38c 06:36:48,356 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [follower] 06:36:48,356 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:36:48.356] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/follower117]: org.opendaylight.controller.cluster.common.actor.Monitor@468acf35 [INFO] [pekkoDeadLetter][06/25/2025 18:36:48.356] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/follower117] to Actor[pekko://test/user/termination-monitor] was not delivered. [8] 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'. 06:36:48,356 PM [test-pekko.actor.default-dispatcher-6] [INFO] EmptyLocalActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.common.actor.Monitor] from TestActor[pekko://test/user/follower117] to Actor[pekko://test/user/termination-monitor] was not delivered. [8] 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'. 06:36:48,357 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActor - follower: Starting recovery with journal batch size 1000 06:36:48,357 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - follower: started executor 06:36:48,357 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - follower: started executor 06:36:48,358 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/follower/TermInfo.properties does not exist 06:36:48,358 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - follower: no eligible files found 06:36:48,358 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - follower: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:48,360 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=0, votedFor=null 06:36:48,360 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - follower: Local TermInfo store seeded with TermInfo{term=0} 06:36:48,360 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - follower: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@7f9ce4d2 06:36:48,361 PM [test-pekko.actor.default-dispatcher-6] [INFO] Follower - follower (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:36:48,364 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=1, votedFor=null 06:36:48,365 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to -1 06:36:48,365 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: -1, nextIndex: 0 [WARN] [06/25/2025 18:36:48.365] [test-pekko.actor.default-dispatcher-5] [pekko://test/user/follower117] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=false] 06:36:48,365 PM [test-pekko.actor.default-dispatcher-6] [INFO] TestActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/follower117] was unhandled. [9] 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/25/2025 18:36:48.365] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/follower117] Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/follower117] was unhandled. [9] 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'. 06:36:48,365 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 0, leaderLastIndex: -1, leaderSnapShotIndex: -1 06:36:48,368 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: onRemoveServer: RemoveServer{serverId='leader'}, state: Idle 06:36:48,370 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=follower, isVoting=true]] 06:36:48,370 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Persist data index=0 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]} 06:36:48,370 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]}, pending=true} 06:36:48,370 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=0b5ae1c3-cd8a-4803-b8ec-18e317ef0676}, logIndex: 0, isSendImmediate: true 06:36:48,370 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:36:48,370 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:48,370 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower follower 06:36:48,370 PM [leader-%d863714] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/leader/snapshot-00000000685C41C0-1615E737.tmp 06:36:48,370 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]}, pending=true}]} 06:36:48,370 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]}, pending=true}]} 06:36:48,371 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 06:36:48,371 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 06:36:48,371 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - follower (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]} 06:36:48,371 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] ReplicatedLogImpl - follower: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]}, pending=true} 06:36:48,371 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - follower: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/follower/snapshot-00000000685C41C0-161EB024.tmp 06:36:48,371 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation RemoveServer{serverId='leader'} 06:36:48,373 PM [leader-%d863714] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/leader/snapshot-00000000685C41C0-1615E737.v1 06:36:48,373 PM [leader-%d863714] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/leader/snapshot-00000000685C41C0-1615E737.v1 06:36:48,373 PM [leader-%d863714] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/leader/TermInfo.properties 06:36:48,373 PM [leader-%d863714] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.370534199Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/leader/snapshot-00000000685C41C0-1615E737.v1, size=75, entryCompress=NONE, stateCompress=NONE} 06:36:48,373 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - follower: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/follower/snapshot-00000000685C41C0-161EB024.v1 06:36:48,373 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - follower: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/follower/snapshot-00000000685C41C0-161EB024.v1 06:36:48,373 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - follower: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/follower/TermInfo.properties 06:36:48,373 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - follower: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.371109924Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14504596432021296882/follower/snapshot-00000000685C41C0-161EB024.v1, size=75, entryCompress=NONE, stateCompress=NONE} 06:36:48,373 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] ReplicatedLogImpl - follower: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]}, pending=false} 06:36:48,373 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PeerInfos - follower: Updated server config: isVoting: true, peers: [] 06:36:48,373 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - follower (Follower): Log size is now 1 06:36:48,374 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:48,374 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached -1 (of expected -1) [WARN] [06/25/2025 18:36:48.374] [test-pekko.actor.default-dispatcher-5] [pekko://test/user/follower117] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=true] [INFO] [pekkoDeadLetter][06/25/2025 18:36:48.374] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/follower117] Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/follower117] was unhandled. [10] dead letters encountered, no more dead letters will be logged in next [5.000 min]. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 06:36:48,374 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]}, pending=false} 06:36:48,374 PM [test-pekko.actor.default-dispatcher-12] [INFO] TestActorRef - pekkoDeadLetter Message [org.opendaylight.controller.cluster.raft.base.messages.FollowerInitialSyncUpStatus] to TestActor[pekko://test/user/follower117] was unhandled. [10] dead letters encountered, no more dead letters will be logged in next [5.000 min]. This logging can be turned off or adjusted with configuration settings 'pekko.log-dead-letters' and 'pekko.log-dead-letters-during-shutdown'. 06:36:48,374 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: 0, nextIndex: 1 06:36:48,374 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Applying to log - commitIndex: 0, lastAppliedIndex: -1 06:36:48,374 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 0 06:36:48,374 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from -1 to 0 06:36:48,374 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]} 06:36:48,374 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:48,375 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]} has been successfully replicated to a majority of followers 06:36:48,375 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - follower (Follower): Commit index set to 0 06:36:48,375 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:48,375 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:36:48,375 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 0 06:36:48,375 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractReplicatedLog - follower: Moving last applied index from -1 to 0 06:36:48,375 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - follower: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true]]} [WARN] [06/25/2025 18:36:48.376] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/leader118] unhandled message from TestActor[pekko://test/user/leader118]: ServerRemoved [serverId=leader] 06:36:48,422 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerLeader ending 06:36:48,422 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower116] 06:36:48,423 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader118] 06:36:48,423 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:48,423 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:48,424 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector119] 06:36:48,424 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector120#999452149] 06:36:48,425 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower117] 06:36:48,425 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:36:48,425 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:36:48,427 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithLeaderChangeDuringInstallSnapshot starting [WARN] [06/25/2025 18:36:48.429] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server123]: org.opendaylight.controller.cluster.common.actor.Monitor@3a45333 06:36:48,430 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:36:48,430 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: started executor 06:36:48,430 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: started executor 06:36:48,432 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/new-server/TermInfo.properties does not exist 06:36:48,432 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: no eligible files found 06:36:48,432 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:48,434 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:36:48,434 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:36:48,434 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@892bdb6 06:36:48,435 PM [test-pekko.actor.default-dispatcher-15] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:36:48.436] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader124]: org.opendaylight.controller.cluster.common.actor.Monitor@60fb0129 06:36:48,437 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:48,437 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:48,437 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: started executor 06:36:48,437 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: started executor 06:36:48,438 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/leader/TermInfo.properties does not exist 06:36:48,438 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: no eligible files found 06:36:48,438 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:48,441 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:48,441 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:48,441 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@1e3dbc85 06:36:48,441 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:48,449 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server123, votingMember=true], state: Idle 06:36:48,449 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server123, votingMember=true] 06:36:48,449 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - leader: Capturing Snapshot : lastLogEntry is null. Using snapshot values lastAppliedIndex -1 and lastAppliedTerm -1 instead. 06:36:48,449 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=false] to install on new-server 06:36:48,449 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: lastSequenceNumber prior to capture: -1 06:36:48,449 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - leader: support() called 06:36:48,450 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating capture snapshot for new server new-server 06:36:48,450 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=-1, term=-1]/EntryInfo[index=-1, term=-1] 06:36:48,450 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - leader: support() called 06:36:48,450 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: -1 and term: -1 06:36:48,450 PM [leader-%d444446] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/leader/snapshot-00000000685C41C0-1ADDBBC8.tmp 06:36:48,450 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): sendInstallSnapshot 06:36:48,450 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Snapshot 157 bytes, total chunks to send: 1 06:36:48,450 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Next chunk: total length=157, offset=0, size=157, hashCode=1546036366 06:36:48,450 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): next snapshot chunk size for follower new-server: 157 06:36:48,451 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): InstallSnapshot sent to follower Vector(user, new-server123), Chunk: 1/1 06:36:48,451 PM [test-pekko.actor.default-dispatcher-12] [INFO] Follower - new-server (Follower): Term 1 in "InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=-1, lastIncludedTerm=-1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]}" message is greater than follower's term 0 - updating term 06:36:48,453 PM [leader-%d444446] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/leader/snapshot-00000000685C41C0-1ADDBBC8.v1 06:36:48,453 PM [leader-%d444446] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/leader/snapshot-00000000685C41C0-1ADDBBC8.v1 06:36:48,454 PM [leader-%d444446] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/leader/TermInfo.properties 06:36:48,454 PM [leader-%d444446] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.450739144Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/leader/snapshot-00000000685C41C0-1ADDBBC8.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:48,454 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: snapshot is durable as of 2025-06-25T18:36:48.450739144Z 06:36:48,454 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: Snapshot success - sequence number: -1 06:36:48,454 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorSnapshotMessageSupport - leader: SnapshotComplete received 06:36:48,454 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=1, votedFor=null 06:36:48,454 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=-1, lastIncludedTerm=-1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]} 06:36:48,454 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - new-server: Last sync leader does not match current leader leader, need to catch up to -1 06:36:48,454 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotTracker - new-server (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 06:36:48,454 PM [test-pekko.actor.default-dispatcher-12] [INFO] Follower - new-server (Follower): Snapshot received from leader: leader 06:36:48,455 PM [test-pekko.actor.default-dispatcher-12] [INFO] SnapshotManager - new-server: Applying snapshot on follower: PlainSnapshotSource{io=MemoryStreamSource{size=157}} 06:36:48,455 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - new-server: support() called 06:36:48,455 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - new-server: Converted InstallSnapshot from leader: leader to state 06:36:48,455 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - new-server: lastSequenceNumber prior to persisting applied snapshot: -1 [WARN] [06/25/2025 18:36:48.455] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/new-server123] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=false] 06:36:48,456 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - new-server: support() called 06:36:48,456 PM [new-server-%d603169] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/new-server/snapshot-00000000685C41C0-1B321546.tmp 06:36:48,458 PM [new-server-%d603169] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/new-server/snapshot-00000000685C41C0-1B321546.v1 06:36:48,458 PM [new-server-%d603169] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/new-server/snapshot-00000000685C41C0-1B321546.v1 06:36:48,458 PM [new-server-%d603169] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/new-server/TermInfo.properties 06:36:48,458 PM [new-server-%d603169] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:48.456267078Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11915796715393914022/new-server/snapshot-00000000685C41C0-1B321546.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:48,458 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - new-server: snapshot is durable as of 2025-06-25T18:36:48.456267078Z 06:36:48,459 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - new-server: Snapshot success - sequence number: -1 06:36:48,459 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - new-server: support() called 06:36:48,459 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - new-server: applySnapshot called 06:36:48,459 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:48,459 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleInstallSnapshotReply: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:48,459 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorSnapshotMessageSupport - new-server: SnapshotComplete received 06:36:48,460 PM [test-pekko.actor.default-dispatcher-12] [INFO] AbstractLeader - leader (Leader): Snapshot successfully installed on follower new-server (last chunk 1) - matchIndex set to -1, nextIndex set to 0 06:36:48,460 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - Sent message UnInitializedFollowerSnapshotReply to self 06:36:48,500 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: onUnInitializedFollowerSnapshotReply: UnInitializedFollowerSnapshotReply [followerId=new-server] 06:36:48,500 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Dropping UnInitializedFollowerSnapshotReply for server new-server: not leader 06:36:50,68 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: handleInstallSnapshotTimeout for new server new-server 06:36:50,68 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Returning NO_LEADER for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server123, votingMember=true] 06:36:50,68 PM [test-pekko.actor.default-dispatcher-12] [WARN] RaftActorVotingConfigSupport - leader: Timeout occured for new server new-server while installing snapshot 06:36:50,69 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithLeaderChangeDuringInstallSnapshot ending 06:36:50,69 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower121] 06:36:50,80 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector122#1207438702] 06:36:50,81 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server123] 06:36:50,81 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:50,81 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:50,81 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader124] 06:36:50,82 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:50,82 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:50,82 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector125] 06:36:50,86 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeToVotingWithNoLeaderAndOtherLeaderElected starting [WARN] [06/25/2025 18:36:50.088] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/node1]: org.opendaylight.controller.cluster.common.actor.Monitor@6f19626f 06:36:50,89 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - node1: Starting recovery with journal batch size 1000 06:36:50,89 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - node1: started executor 06:36:50,89 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - node1: started executor 06:36:50,92 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest18048084804049817240/node1/TermInfo.properties does not exist 06:36:50,92 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node1: no eligible files found [WARN] [06/25/2025 18:36:50.092] [test-pekko.actor.default-dispatcher-5] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/node2]: org.opendaylight.controller.cluster.common.actor.Monitor@34e784b1 06:36:50,92 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=1, votedFor=node1 06:36:50,93 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PekkoRecovery - node1: Received ReplicatedLogEntry for recovery: index: 0, size: 133 06:36:50,93 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - node1: Updated server config: isVoting: false, peers: [PeerInfo [id=node2, address=null, votingState=VOTING]] 06:36:50,93 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - node2: Starting recovery with journal batch size 1000 06:36:50,93 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - node2: started executor 06:36:50,93 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - node1: Recovery completed - Switching actor to Follower - last log index = 0, last log term = 1, snapshot index = -1, snapshot term = -1, journal size = 1 06:36:50,93 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - node2: started executor 06:36:50,94 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest18048084804049817240/node2/TermInfo.properties does not exist 06:36:50,94 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - node2: no eligible files found 06:36:50,94 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=1, votedFor=node1 06:36:50,94 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PekkoRecovery - node2: Received ReplicatedLogEntry for recovery: index: 0, size: 133 06:36:50,95 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PeerInfos - node2: Updated server config: isVoting: true, peers: [PeerInfo [id=node1, address=null, votingState=NON_VOTING]] 06:36:50,95 PM [test-pekko.actor.default-dispatcher-5] [INFO] PekkoRecovery - node2: Recovery completed - Switching actor to Follower - last log index = 0, last log term = 1, snapshot index = -1, snapshot term = -1, journal size = 1 06:36:50,96 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=1, votedFor=node1 06:36:50,96 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - node1: Local TermInfo store seeded with TermInfo{term=1, votedFor=node1} 06:36:50,96 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - node1: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@52f118e1 06:36:50,97 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=1, votedFor=node1 06:36:50,97 PM [test-pekko.actor.default-dispatcher-5] [INFO] PekkoRecovery - node2: Local TermInfo store seeded with TermInfo{term=1, votedFor=node1} 06:36:50,97 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - node2: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@36f1864b 06:36:50,104 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - node1: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={node1=true, node2=true}, serversVisited=[]], state: Idle 06:36:50,108 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:36:50,108 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - node1: Sending local ElectionTimeout to start leader election 06:36:50,108 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PeerInfos - node1: Updated server config: isVoting: true, peers: [PeerInfo [id=node2, address=null, votingState=VOTING]] 06:36:50,109 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:36:50,109 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - node1 (Follower): Received TimeoutNow - switching to Candidate 06:36:50,109 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Candidate - node1 (Candidate): Election: Candidate has following voting peers: [node2] 06:36:50,112 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=2, votedFor=node1 06:36:50,112 PM [test-pekko.actor.default-dispatcher-5] [INFO] Candidate - node1 (Candidate): Starting new election term 2 06:36:50,112 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Candidate - node1 (Candidate): Sending RequestVote{term=2, candidateId=node1, lastLogIndex=0, lastLogTerm=1} to peer node2 06:36:50,112 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActorBehavior - node1 (Follower) :- Switching from behavior Follower to Candidate, election term: 2 06:36:50,155 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - node2 (Follower): Received TimeoutNow - switching to Candidate 06:36:50,155 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Candidate - node2 (Candidate): Election: Candidate has following voting peers: [] 06:36:50,158 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=2, votedFor=node2 06:36:50,158 PM [test-pekko.actor.default-dispatcher-5] [INFO] Candidate - node2 (Candidate): Starting new election term 2 06:36:50,158 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActorBehavior - node2 (Follower) :- Switching from behavior Follower to Candidate, election term: 2 06:36:50,158 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Candidate - node2 (Candidate): Received ElectionTimeout 06:36:50,158 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - node2 (Leader): Election: Leader has following peers: [node1] 06:36:50,158 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - node2 (Leader): Checking sendAppendEntries for follower node1: active: false, followerNextIndex: -1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:50,158 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActorBehavior - node2 (Candidate) :- Switching from behavior Candidate to Leader, election term: 2 06:36:50,158 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Candidate - node1 (Candidate): RaftRPC message received AppendEntries{term=2, leaderId=node2, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}, my term is 2 06:36:50,159 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Candidate - node1 (Candidate): handleAppendEntries: AppendEntries{term=2, leaderId=node2, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} 06:36:50,159 PM [test-pekko.actor.default-dispatcher-5] [INFO] Candidate - node1 (Candidate): New Leader node2 sent an AppendEntries to Candidate for term 2 - will switch to Follower 06:36:50,159 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActorBehavior - node1 (Candidate) :- Switching from behavior Candidate to Follower, election term: 2 06:36:50,278 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SyncStatusTracker - node1: Last sync leader does not match current leader node2, need to catch up to -1 06:36:50,278 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - node2 (Leader): handleAppendEntriesReply - FollowerLogInformation for node1 updated: matchIndex: 0, nextIndex: 1 06:36:50,279 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - node2 (Leader): Not updating commit index to 0 - retrieved log entry with index 0, term 1 does not match the current term 2 06:36:50,279 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - node1: New leader node2 elected 06:36:50,279 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - node2 (Leader): Checking sendAppendEntries for follower node1: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:50,279 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - node1: Forwarding ChangeServersVotingStatus [serverVotingStatusMap={node1=true, node2=true}, serversVisited=[]] to new leader 06:36:50,279 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PeerInfos - node1: Updated server config: isVoting: false, peers: [PeerInfo [id=node2, address=pekko://test/user/node2, votingState=VOTING]] 06:36:50,279 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - node1: getLeaderAddress leaderId = node2 peerAddress = pekko://test/user/node2 06:36:50,279 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - node1: Not leader - forwarding to leader ActorSelection[Anchor(pekko://test/), Path(/user/node2)] 06:36:50,279 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - node2: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={node1=true, node2=true}, serversVisited=[]], state: Idle 06:36:50,279 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:36:50,280 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PeerInfos - node2: Updated server config: isVoting: true, peers: [PeerInfo [id=node1, address=pekko://test/user/node1, votingState=VOTING]] 06:36:50,280 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - node2: New server configuration : [ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]] 06:36:50,280 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - node2: Persist data index=1 term=2 command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} 06:36:50,280 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] ReplicatedLogImpl - node2: Append log entry and persist JournaledLogEntry{index=1, term=2, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=true} 06:36:50,280 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - node2 (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=d311f4d8-2e7f-4c6a-8854-ce19dcdb8c38}, logIndex: 1, isSendImmediate: true [WARN] [06/25/2025 18:36:50.280] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/node1] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=node1, initialSyncDone=false] 06:36:50,280 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - node2 (Leader): Checking sendAppendEntries for follower node1: active: true, followerNextIndex: 1, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:36:50,280 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - node2 (Leader): sendAppendEntries: 1 is present for follower node1 06:36:50,280 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - node2 (Leader): Sending AppendEntries to follower node1: AppendEntries{term=2, leaderId=node2, prevLogIndex=0, prevLogTerm=1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=2, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=true}]} 06:36:50,281 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - node1 (Follower): handleAppendEntries: AppendEntries{term=2, leaderId=node2, prevLogIndex=0, prevLogTerm=1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=2, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=true}]} 06:36:50,281 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - node1 (Follower): Number of entries to be appended = 1 06:36:50,281 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - node1 (Follower): After cleanup, lastIndex: 0, entries to be added from: 0 06:36:50,281 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - node1 (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} 06:36:50,281 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - node1: Append log entry and persist JournaledLogEntry{index=1, term=2, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=true} 06:36:50,281 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PeerInfos - node1: Updated server config: isVoting: true, peers: [PeerInfo [id=node2, address=pekko://test/user/node2, votingState=VOTING]] 06:36:50,281 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - node1 (Follower): Log size is now 2 06:36:50,281 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - node1 (Follower): handleAppendEntries returning : AppendEntriesReply{term=2, success=true, followerId=node1, logLastIndex=1, logLastTerm=2, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:50,281 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - node2: Returning OK for operation ChangeServersVotingStatus [serverVotingStatusMap={node1=true, node2=true}, serversVisited=[]] 06:36:50,281 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached -1 (of expected -1) 06:36:50,282 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - node2 (Leader): handleAppendEntriesReply - FollowerLogInformation for node1 updated: matchIndex: 1, nextIndex: 2 06:36:50,282 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - node2 (Leader): Not updating commit index to 0 - retrieved log entry with index 0, term 1 does not match the current term 2 06:36:50,282 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - node2 (Leader): Checking sendAppendEntries for follower node1: active: true, followerNextIndex: 2, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:36:50,282 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - node1: persist complete JournaledLogEntry{index=1, term=2, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=false} 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - node2: persist complete JournaledLogEntry{index=1, term=2, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=false} 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (Leader): Not updating commit index to 0 - retrieved log entry with index 0, term 1 does not match the current term 2 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (Leader): Applying to log - commitIndex: 1, lastAppliedIndex: -1 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - node2 (Leader): Setting last applied to 0 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - node2: Moving last applied index from -1 to 0 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=false], ServerInfo[peerId=node2, isVoting=true]]} 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - node2 (Leader): Setting last applied to 1 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - node2: Moving last applied index from 0 to 1 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Persisting ApplyJournalEntries with index=1 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - node2: fakeSnapshot purging log to 0 for term 2 06:36:50,283 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActorVotingConfigSupport - node2: VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} has been successfully replicated to a majority of followers [WARN] [06/25/2025 18:36:50.283] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/node1] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=node1, initialSyncDone=true] 06:36:50,398 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): Commit index set to 1 06:36:50,398 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 1 (of expected -1) 06:36:50,398 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 1, context.getLastApplied(): -1, lastIndex(): 1 06:36:50,398 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - node1 (Follower): Setting last applied to 0 06:36:50,398 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - node1: Moving last applied index from -1 to 0 06:36:50,398 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node1: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=false], ServerInfo[peerId=node2, isVoting=true]]} 06:36:50,399 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - node1 (Follower): Setting last applied to 1 06:36:50,399 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - node1: Moving last applied index from 0 to 1 06:36:50,399 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node1: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} 06:36:50,399 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node1: Persisting ApplyJournalEntries with index=1 06:36:50,399 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - node1: fakeSnapshot purging log to 0 for term 2 06:36:50,518 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 1 (of expected -1) 06:36:50,586 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeToVotingWithNoLeaderAndOtherLeaderElected ending 06:36:50,586 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower126] 06:36:50,598 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector127#-886206165] 06:36:50,599 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/node1] 06:36:50,600 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - node1: stopped executor with 0 remaining tasks 06:36:50,600 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - node1: stopped executor with 0 remaining tasks 06:36:50,600 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector128#606682464] 06:36:50,600 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/node2] 06:36:50,601 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - node2: stopped executor with 0 remaining tasks 06:36:50,601 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - node2: stopped executor with 0 remaining tasks 06:36:50,603 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithInstallSnapshotTimeout starting [WARN] [06/25/2025 18:36:50.608] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server131]: org.opendaylight.controller.cluster.common.actor.Monitor@475b705e 06:36:50,609 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:36:50,610 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: started executor 06:36:50,610 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: started executor 06:36:50,611 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14458820205526056926/new-server/TermInfo.properties does not exist 06:36:50,611 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: no eligible files found 06:36:50,612 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:50,615 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:36:50,615 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:36:50,615 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@3a4923f3 06:36:50,615 PM [test-pekko.actor.default-dispatcher-12] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:36:50.616] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader132]: org.opendaylight.controller.cluster.common.actor.Monitor@1731b6fe 06:36:50,617 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:50,617 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:50,617 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: started executor 06:36:50,617 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: started executor 06:36:50,618 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14458820205526056926/leader/TermInfo.properties does not exist 06:36:50,618 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: no eligible files found 06:36:50,618 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:50,620 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:50,620 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:50,620 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@38157e9a 06:36:50,620 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:50,628 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server131, votingMember=true], state: Idle 06:36:50,628 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server131, votingMember=true] 06:36:50,628 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractReplicatedLog - leader: Capturing Snapshot : lastLogEntry is null. Using snapshot values lastAppliedIndex -1 and lastAppliedTerm -1 instead. 06:36:50,628 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=false] to install on new-server 06:36:50,629 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SnapshotManager - leader: lastSequenceNumber prior to capture: -1 06:36:50,629 PM [test-pekko.actor.default-dispatcher-5] [INFO] MockRaftActor - leader: support() called 06:36:50,629 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating capture snapshot for new server new-server 06:36:50,629 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: onUnInitializedFollowerSnapshotReply: UnInitializedFollowerSnapshotReply [followerId=bogus] 06:36:50,629 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Dropping UnInitializedFollowerSnapshotReply for server bogus: server Id doesn't match 06:36:50,629 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=-1, term=-1]/EntryInfo[index=-1, term=-1] 06:36:50,629 PM [test-pekko.actor.default-dispatcher-5] [INFO] MockRaftActor - leader: support() called 06:36:50,630 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: -1 and term: -1 06:36:50,630 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): sendInstallSnapshot 06:36:50,630 PM [leader-%d231463] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14458820205526056926/leader/snapshot-00000000685C41C2-258E550B.tmp 06:36:50,630 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Snapshot 157 bytes, total chunks to send: 1 06:36:50,630 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Next chunk: total length=157, offset=0, size=157, hashCode=1546036366 06:36:50,630 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): next snapshot chunk size for follower new-server: 157 06:36:50,630 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): InstallSnapshot sent to follower Vector(user, new-server131), Chunk: 1/1 06:36:50,632 PM [leader-%d231463] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14458820205526056926/leader/snapshot-00000000685C41C2-258E550B.v1 06:36:50,632 PM [leader-%d231463] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14458820205526056926/leader/snapshot-00000000685C41C2-258E550B.v1 06:36:50,633 PM [leader-%d231463] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14458820205526056926/leader/TermInfo.properties 06:36:50,633 PM [leader-%d231463] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:50.630084875Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14458820205526056926/leader/snapshot-00000000685C41C2-258E550B.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:50,633 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - leader: snapshot is durable as of 2025-06-25T18:36:50.630084875Z 06:36:50,633 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SnapshotManager - leader: Snapshot success - sequence number: -1 06:36:50,633 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorSnapshotMessageSupport - leader: SnapshotComplete received 06:36:50,748 PM [test-pekko.actor.default-dispatcher-12] [INFO] Follower - new-server (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:36:50,750 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=1, votedFor=null 06:36:50,751 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - new-server: Last sync leader does not match current leader leader, need to catch up to -1 06:36:50,751 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: -1, nextIndex: 0 [WARN] [06/25/2025 18:36:50.751] [test-pekko.actor.default-dispatcher-5] [pekko://test/user/new-server131] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=false] 06:36:50,848 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: handleInstallSnapshotTimeout for new server new-server 06:36:50,848 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Returning TIMEOUT for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server131, votingMember=true] 06:36:50,848 PM [test-pekko.actor.default-dispatcher-5] [WARN] RaftActorVotingConfigSupport - leader: Timeout occured for new server new-server while installing snapshot 06:36:50,848 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithInstallSnapshotTimeout ending 06:36:50,848 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower129] 06:36:50,859 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector130#962093190] 06:36:50,860 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server131] 06:36:50,860 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:50,860 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:50,860 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader132] 06:36:50,860 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:50,860 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:50,863 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithNoExistingFollower starting [WARN] [06/25/2025 18:36:50.864] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server135]: org.opendaylight.controller.cluster.common.actor.Monitor@3f721ac6 06:36:50,865 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:36:50,865 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: started executor 06:36:50,865 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: started executor 06:36:50,867 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/TermInfo.properties does not exist 06:36:50,867 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: no eligible files found 06:36:50,867 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:50,870 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:36:50,870 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:36:50,870 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@5eb24313 06:36:50,870 PM [main] [DEBUG] AbstractReplicatedLog - : Moving last applied index from -1 to 1 06:36:50,870 PM [test-pekko.actor.default-dispatcher-12] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:36:50.871] [test-pekko.actor.default-dispatcher-5] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader136]: org.opendaylight.controller.cluster.common.actor.Monitor@65c0718a 06:36:50,871 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:50,871 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:50,871 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: started executor 06:36:50,871 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: started executor 06:36:50,872 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/TermInfo.properties does not exist 06:36:50,872 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: no eligible files found 06:36:50,872 PM [test-pekko.actor.default-dispatcher-5] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:50,876 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:50,876 PM [test-pekko.actor.default-dispatcher-5] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:50,876 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@1cea64f9 06:36:50,877 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:50,883 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server135, votingMember=true], state: Idle 06:36:50,883 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server135, votingMember=true] 06:36:50,883 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=1, lastAppliedTerm=1, lastIndex=1, lastTerm=1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=false] to install on new-server 06:36:50,883 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SnapshotManager - leader: lastSequenceNumber prior to capture: -1 06:36:50,883 PM [test-pekko.actor.default-dispatcher-5] [INFO] MockRaftActor - leader: support() called 06:36:50,884 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating capture snapshot for new server new-server 06:36:50,885 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=1, term=1]/EntryInfo[index=1, term=1] 06:36:50,885 PM [test-pekko.actor.default-dispatcher-5] [INFO] MockRaftActor - leader: support() called 06:36:50,885 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: -1 and term: -1 06:36:50,885 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): sendInstallSnapshot 06:36:50,885 PM [leader-%d292726] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-34CA6F43.tmp 06:36:50,885 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Snapshot 157 bytes, total chunks to send: 1 06:36:50,885 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Next chunk: total length=157, offset=0, size=157, hashCode=1546036366 06:36:50,886 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): next snapshot chunk size for follower new-server: 157 06:36:50,886 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractLeader - leader (Leader): InstallSnapshot sent to follower Vector(user, new-server135), Chunk: 1/1 06:36:50,886 PM [test-pekko.actor.default-dispatcher-12] [INFO] Follower - new-server (Follower): Term 1 in "InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=1, lastIncludedTerm=1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]}" message is greater than follower's term 0 - updating term 06:36:50,888 PM [leader-%d292726] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-34CA6F43.v1 06:36:50,888 PM [leader-%d292726] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-34CA6F43.v1 06:36:50,888 PM [leader-%d292726] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/TermInfo.properties 06:36:50,888 PM [leader-%d292726] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:50.885681987Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-34CA6F43.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:50,888 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - leader: snapshot is durable as of 2025-06-25T18:36:50.885681987Z 06:36:50,888 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SnapshotManager - leader: Snapshot success - sequence number: -1 06:36:50,888 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorSnapshotMessageSupport - leader: SnapshotComplete received 06:36:50,888 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=1, votedFor=null 06:36:50,888 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=1, lastIncludedTerm=1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]} 06:36:50,888 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - new-server: Last sync leader does not match current leader leader, need to catch up to 1 06:36:50,888 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotTracker - new-server (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 06:36:50,888 PM [test-pekko.actor.default-dispatcher-12] [INFO] Follower - new-server (Follower): Snapshot received from leader: leader 06:36:50,889 PM [test-pekko.actor.default-dispatcher-12] [INFO] SnapshotManager - new-server: Applying snapshot on follower: PlainSnapshotSource{io=MemoryStreamSource{size=157}} 06:36:50,889 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - new-server: support() called 06:36:50,889 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - new-server: Converted InstallSnapshot from leader: leader to state 06:36:50,889 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - new-server: lastSequenceNumber prior to persisting applied snapshot: -1 06:36:50,889 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - new-server: support() called 06:36:50,890 PM [new-server-%d258825] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-350E8322.tmp [WARN] [06/25/2025 18:36:50.890] [test-pekko.actor.default-dispatcher-5] [pekko://test/user/new-server135] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=false] 06:36:50,891 PM [new-server-%d258825] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-350E8322.v1 06:36:50,892 PM [new-server-%d258825] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-350E8322.v1 06:36:50,892 PM [new-server-%d258825] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/TermInfo.properties 06:36:50,892 PM [new-server-%d258825] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:50.890143522Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-350E8322.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:50,892 PM [test-pekko.actor.default-dispatcher-5] [INFO] SnapshotManager - new-server: snapshot is durable as of 2025-06-25T18:36:50.890143522Z 06:36:50,892 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SnapshotManager - new-server: Snapshot success - sequence number: -1 06:36:50,892 PM [test-pekko.actor.default-dispatcher-5] [INFO] MockRaftActor - new-server: support() called 06:36:50,892 PM [test-pekko.actor.default-dispatcher-5] [INFO] MockRaftActor - new-server: applySnapshot called 06:36:50,892 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:50,892 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorSnapshotMessageSupport - new-server: SnapshotComplete received 06:36:50,892 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleInstallSnapshotReply: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:50,892 PM [test-pekko.actor.default-dispatcher-12] [INFO] AbstractLeader - leader (Leader): Snapshot successfully installed on follower new-server (last chunk 1) - matchIndex set to 1, nextIndex set to 2 06:36:50,892 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - Sent message UnInitializedFollowerSnapshotReply to self 06:36:50,892 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - leader: fakeSnapshot purging log to 0 for term 1 06:36:50,893 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: onUnInitializedFollowerSnapshotReply: UnInitializedFollowerSnapshotReply [followerId=new-server] 06:36:50,893 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]] 06:36:50,893 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Persist data index=2 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:50,893 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=2, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:50,893 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=dec9cd47-8c28-49d5-b765-8424ed86c6e5}, logIndex: 2, isSendImmediate: true 06:36:50,893 PM [leader-%d292727] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-3541301E.tmp 06:36:50,893 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:36:50,893 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 2, leaderLastIndex: 2, leaderSnapShotIndex: 0 06:36:50,893 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 2 is present for follower new-server 06:36:50,893 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=1, prevLogTerm=1, leaderCommit=1, replicatedToAllIndex=0, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=2, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:50,893 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=1, prevLogTerm=1, leaderCommit=1, replicatedToAllIndex=0, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=2, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:50,894 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): Number of entries to be appended = 1 06:36:50,894 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): After cleanup, lastIndex: 1, entries to be added from: 0 06:36:50,894 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:50,894 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - new-server: Append log entry and persist JournaledLogEntry{index=2, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:50,894 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-354D1B2C.tmp 06:36:50,894 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server135, votingMember=true] 06:36:50,895 PM [leader-%d292727] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-3541301E.v1 06:36:50,895 PM [leader-%d292727] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-3541301E.v1 06:36:50,895 PM [leader-%d292727] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-34CA6F43.v1 06:36:50,896 PM [leader-%d292727] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/TermInfo.properties 06:36:50,896 PM [leader-%d292727] [DEBUG] RaftStorage - leader: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:50.885681987Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-34CA6F43.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:50,896 PM [leader-%d292727] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:50.893464606Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/leader/snapshot-00000000685C41C2-3541301E.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:50,896 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=2, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:50,896 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-354D1B2C.v1 06:36:50,896 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-350E8322.v1 06:36:50,896 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/TermInfo.properties 06:36:50,896 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-354D1B2C.v1 06:36:50,897 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:50.890143522Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-350E8322.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:50,897 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:50.894245676Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11307870838371206827/new-server/snapshot-00000000685C41C2-354D1B2C.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:50,897 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - new-server: persist complete JournaledLogEntry{index=2, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:50,897 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PeerInfos - new-server: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=null, votingState=VOTING]] 06:36:50,897 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): Log size is now 1 06:36:50,897 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=new-server, logLastIndex=2, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:50,897 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 1 (of expected 1) 06:36:50,897 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: 2, nextIndex: 3 06:36:50,897 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Applying to log - commitIndex: 2, lastAppliedIndex: 1 06:36:50,897 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 2 06:36:50,897 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from 1 to 2 06:36:50,897 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Applying state for log index 2 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:50,897 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - leader: fakeSnapshot purging log to 1 for term 1 06:36:50,897 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 3, leaderLastIndex: 2, leaderSnapShotIndex: 1 [WARN] [06/25/2025 18:36:50.897] [test-pekko.actor.default-dispatcher-5] [pekko://test/user/new-server135] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=true] 06:36:50,897 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - new-server (Follower): Commit index set to 2 06:36:50,897 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:36:50,897 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 2 (of expected 1) 06:36:50,897 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] Follower - new-server (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 2, context.getLastApplied(): 1, lastIndex(): 2 06:36:50,897 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorBehavior - new-server (Follower): Setting last applied to 2 06:36:50,897 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractReplicatedLog - new-server: Moving last applied index from 1 to 2 06:36:50,897 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - new-server: Applying state for log index 2 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:50,934 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithNoExistingFollower ending 06:36:50,934 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower133] 06:36:50,946 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector134#1904838361] 06:36:50,946 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server135] 06:36:50,946 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:50,946 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:50,946 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader136] 06:36:50,947 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:50,947 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:50,947 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector137] 06:36:50,950 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeToVotingWithNoLeaderAndForwardedToOtherNodeAfterElectionTimeout starting [WARN] [06/25/2025 18:36:50.952] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/node1]: org.opendaylight.controller.cluster.common.actor.Monitor@3150aa2e 06:36:50,953 PM [test-pekko.actor.default-dispatcher-5] [INFO] RaftActor - node1: Starting recovery with journal batch size 1000 06:36:50,954 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - node1: started executor 06:36:50,954 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - node1: started executor [WARN] [06/25/2025 18:36:50.955] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/node2]: org.opendaylight.controller.cluster.common.actor.Monitor@2498abbe 06:36:50,955 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11093477493588347605/node1/TermInfo.properties does not exist 06:36:50,955 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node1: no eligible files found 06:36:50,955 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=1, votedFor=node1 06:36:50,955 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PekkoRecovery - node1: Received ReplicatedLogEntry for recovery: index: 0, size: 133 06:36:50,955 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - node1: Updated server config: isVoting: false, peers: [PeerInfo [id=node2, address=null, votingState=NON_VOTING]] 06:36:50,955 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - node1: Recovery completed - Switching actor to Follower - last log index = 0, last log term = 1, snapshot index = -1, snapshot term = -1, journal size = 1 06:36:50,956 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - node2: Starting recovery with journal batch size 1000 06:36:50,956 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - node2: started executor 06:36:50,956 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - node2: started executor 06:36:50,957 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=1, votedFor=node1 06:36:50,957 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - node1: Local TermInfo store seeded with TermInfo{term=1, votedFor=node1} 06:36:50,957 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - node1: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@7e653182 06:36:50,958 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest11093477493588347605/node2/TermInfo.properties does not exist 06:36:50,958 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftStorage - node2: no eligible files found 06:36:50,958 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=1, votedFor=node1 06:36:50,958 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PekkoRecovery - node2: Received ReplicatedLogEntry for recovery: index: 0, size: 133 06:36:50,958 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PeerInfos - node2: Updated server config: isVoting: false, peers: [PeerInfo [id=node1, address=null, votingState=NON_VOTING]] 06:36:50,958 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PekkoRecovery - node2: Received ReplicatedLogEntry for recovery: index: 1, size: 1 06:36:50,958 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PekkoRecovery - node2: Received apply journal entries for recovery, applying to state: 0 to 1 06:36:50,958 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] AbstractReplicatedLog - node2: Moving last applied index from -1 to 0 06:36:50,958 PM [test-pekko.actor.default-dispatcher-5] [INFO] PekkoRecovery - node2: Recovery completed in 29.45 μs - Switching actor to Follower - last log index = 1, last log term = 1, snapshot index = -1, snapshot term = -1, journal size = 2 06:36:50,960 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=1, votedFor=node1 06:36:50,960 PM [test-pekko.actor.default-dispatcher-5] [INFO] PekkoRecovery - node2: Local TermInfo store seeded with TermInfo{term=1, votedFor=node1} 06:36:50,960 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActor - node2: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@75edfafe 06:36:50,966 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - node1: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={node1=true, node2=true}, serversVisited=[]], state: Idle 06:36:50,966 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:36:50,966 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - node1: Sending local ElectionTimeout to start leader election 06:36:50,966 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - node1: Updated server config: isVoting: true, peers: [PeerInfo [id=node2, address=null, votingState=VOTING]] 06:36:50,967 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:36:50,967 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node1 (Follower): Received TimeoutNow - switching to Candidate 06:36:50,967 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Candidate - node1 (Candidate): Election: Candidate has following voting peers: [node2] 06:36:50,969 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=2, votedFor=node1 06:36:50,969 PM [test-pekko.actor.default-dispatcher-11] [INFO] Candidate - node1 (Candidate): Starting new election term 2 06:36:50,969 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Candidate - node1 (Candidate): Sending RequestVote{term=2, candidateId=node1, lastLogIndex=0, lastLogTerm=1} to peer node2 06:36:50,969 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActorBehavior - node1 (Follower) :- Switching from behavior Follower to Candidate, election term: 2 06:36:50,969 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - node2 (Follower): Found higher term in RequestVote rpc, verifying whether it's safe to update term. 06:36:50,969 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - node2 (Follower): Cluster state: [] 06:36:50,969 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - node2 (Follower): Candidate in requestVote:RequestVote{term=2, candidateId=node1, lastLogIndex=0, lastLogTerm=1} with higher term appears reachable, updating term. 06:36:50,969 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - node2 (Follower): Term 2 in "RequestVote{term=2, candidateId=node1, lastLogIndex=0, lastLogTerm=1}" message is greater than follower's term 1 - updating term 06:36:50,971 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=2, votedFor=null 06:36:50,971 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - node2 (Follower): In requestVote: RequestVote{term=2, candidateId=node1, lastLogIndex=0, lastLogTerm=1} - currentTerm: 2, votedFor: null, lastIndex: 1, lastTerm: 1 06:36:50,971 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - node2 (Follower): requestVote returning: RequestVoteReply{term=2, voteGranted=false} 06:36:50,971 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Candidate - node1 (Candidate): RaftRPC message received RequestVoteReply{term=2, voteGranted=false}, my term is 2 06:36:50,971 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Candidate - node1 (Candidate): handleRequestVoteReply: RequestVoteReply{term=2, voteGranted=false}, current voteCount: 1 06:36:51,278 PM [test-pekko.actor.default-dispatcher-11] [WARN] RaftActorVotingConfigSupport - node1: Leader election timed out - cannot apply operation ChangeServersVotingStatus [serverVotingStatusMap={node1=true, node2=true}, serversVisited=[]] 06:36:51,278 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - node1: Updated server config: isVoting: false, peers: [PeerInfo [id=node2, address=pekko://test/user/node2, votingState=NON_VOTING]] 06:36:51,278 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - node1: tryToForwardOperationToAnotherServer - servers already visited [] 06:36:51,278 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - node1: Found server ActorSelection[Anchor(pekko://test/), Path(/user/node2)] to forward to 06:36:51,279 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - node2: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={node1=true, node2=true}, serversVisited=[node1]], state: Idle 06:36:51,279 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:36:51,279 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - node2: Sending local ElectionTimeout to start leader election 06:36:51,279 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - node2: Updated server config: isVoting: true, peers: [PeerInfo [id=node1, address=null, votingState=VOTING]] 06:36:51,279 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): Received TimeoutNow - switching to Candidate 06:36:51,279 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Candidate - node2 (Candidate): Election: Candidate has following voting peers: [node1] 06:36:51,283 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=3, votedFor=node2 06:36:51,283 PM [test-pekko.actor.default-dispatcher-11] [INFO] Candidate - node2 (Candidate): Starting new election term 3 06:36:51,283 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Candidate - node2 (Candidate): Sending RequestVote{term=3, candidateId=node2, lastLogIndex=1, lastLogTerm=1} to peer node1 06:36:51,283 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActorBehavior - node2 (Follower) :- Switching from behavior Follower to Candidate, election term: 3 06:36:51,283 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorBehavior - node1 (Follower): Found higher term in RequestVote rpc, verifying whether it's safe to update term. 06:36:51,283 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorBehavior - node1 (Follower): Cluster state: [] 06:36:51,283 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorBehavior - node1 (Follower): Candidate in requestVote:RequestVote{term=3, candidateId=node2, lastLogIndex=1, lastLogTerm=1} with higher term appears reachable, updating term. 06:36:51,283 PM [test-pekko.actor.default-dispatcher-5] [INFO] Follower - node1 (Follower): Term 3 in "RequestVote{term=3, candidateId=node2, lastLogIndex=1, lastLogTerm=1}" message is greater than follower's term 2 - updating term 06:36:51,286 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=3, votedFor=null 06:36:51,286 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorBehavior - node1 (Follower): In requestVote: RequestVote{term=3, candidateId=node2, lastLogIndex=1, lastLogTerm=1} - currentTerm: 3, votedFor: null, lastIndex: 0, lastTerm: 1 06:36:51,289 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=3, votedFor=node2 06:36:51,289 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] RaftActorBehavior - node1 (Follower): requestVote returning: RequestVoteReply{term=3, voteGranted=true} 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Candidate - node2 (Candidate): RaftRPC message received RequestVoteReply{term=3, voteGranted=true}, my term is 3 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Candidate - node2 (Candidate): handleRequestVoteReply: RequestVoteReply{term=3, voteGranted=true}, current voteCount: 1 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [INFO] Candidate - node2 (Candidate): LastApplied index 0 is behind last index 1 - switching to PreLeader 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Election: Leader has following peers: [node1] 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Checking sendAppendEntries for follower node1: active: false, followerNextIndex: 0, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActorBehavior - node2 (Candidate) :- Switching from behavior Candidate to PreLeader, election term: 3 06:36:51,289 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - node1: Last sync leader does not match current leader node2, need to catch up to -1 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - node2: New leader node2 elected 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - node2: New server configuration : [ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]] 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Persist data index=2 term=3 command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} 06:36:51,289 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - node2: Append log entry and persist JournaledLogEntry{index=2, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=true} [WARN] [06/25/2025 18:36:51.290] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/node1] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=node1, initialSyncDone=false] 06:36:51,290 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Replicate message: identifier: ServerOperationContextIdentifier{value=3dd16974-8e8b-462d-91a9-c795a99f220a}, logIndex: 2, isSendImmediate: true 06:36:51,290 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Checking sendAppendEntries for follower node1: active: false, followerNextIndex: 0, leaderLastIndex: 2, leaderSnapShotIndex: -1 06:36:51,290 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached -1 (of expected -1) 06:36:51,290 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - node2: Returning OK for operation ChangeServersVotingStatus [serverVotingStatusMap={node1=true, node2=true}, serversVisited=[node1]] [WARN] [06/25/2025 18:36:51.290] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/node1] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=node1, initialSyncDone=true] 06:36:51,290 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Persist data index=3 term=3 command=org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd 06:36:51,290 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - node2: Append log entry and persist JournaledLogEntry{index=3, term=3, command=org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd, pending=true} 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Replicate message: identifier: null, logIndex: 3, isSendImmediate: true 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Checking sendAppendEntries for follower node1: active: false, followerNextIndex: 0, leaderLastIndex: 3, leaderSnapShotIndex: -1 06:36:51,291 PM [test-pekko.actor.default-dispatcher-5] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached -1 (of expected -1) 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): handleAppendEntriesReply - FollowerLogInformation for node1 updated: matchIndex: 0, nextIndex: 1 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Checking sendAppendEntries for follower node1: active: true, followerNextIndex: 1, leaderLastIndex: 3, leaderSnapShotIndex: -1 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): sendAppendEntries: 1 is present for follower node1 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Sending AppendEntries to follower node1: AppendEntries{term=3, leaderId=node2, prevLogIndex=0, prevLogTerm=1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=2, pending=false}, JournaledLogEntry{index=2, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=true}, JournaledLogEntry{index=3, term=3, command=org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd, pending=true}]} 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): sendAppendEntries: 1 is present for follower node1 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): sendAppendEntries: 1 is present for follower node1 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): handleAppendEntries: AppendEntries{term=3, leaderId=node2, prevLogIndex=0, prevLogTerm=1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=2, pending=false}, JournaledLogEntry{index=2, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=true}, JournaledLogEntry{index=3, term=3, command=org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd, pending=true}]} 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): Number of entries to be appended = 3 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): After cleanup, lastIndex: 0, entries to be added from: 0 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): Append entry to log 2 06:36:51,291 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - node1: Append log entry and persist JournaledLogEntry{index=1, term=1, command=2, pending=false} 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - node1: Append log entry and persist JournaledLogEntry{index=2, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=true} 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PeerInfos - node1: Updated server config: isVoting: true, peers: [PeerInfo [id=node2, address=pekko://test/user/node2, votingState=VOTING]] 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): Append entry to log org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - node1: Append log entry and persist JournaledLogEntry{index=3, term=3, command=org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd, pending=true} 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): Log size is now 4 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): Commit index set to 0 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): handleAppendEntries returning : AppendEntriesReply{term=3, success=true, followerId=node1, logLastIndex=3, logLastTerm=3, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 0 (of expected -1) 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - node1 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 3 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - node1 (Follower): Setting last applied to 0 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - node1: Moving last applied index from -1 to 0 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node1: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=false], ServerInfo[peerId=node2, isVoting=false]]} 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node1: Persisting ApplyJournalEntries with index=0 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): handleAppendEntriesReply - FollowerLogInformation for node1 updated: matchIndex: 3, nextIndex: 4 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Not updating commit index to 1 - retrieved log entry with index 1, term 1 does not match the current term 3 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Applying to log - commitIndex: 2, lastAppliedIndex: 0 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - node2 (PreLeader): Setting last applied to 1 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - node2: Moving last applied index from 0 to 1 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Applying state for log index 1 data 2 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [INFO] MockRaftActor - node2: applyState called: 2 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - node2 (PreLeader): Setting last applied to 2 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - node2: Moving last applied index from 1 to 2 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Applying state for log index 2 data VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} 06:36:51,292 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Persisting ApplyJournalEntries with index=2 06:36:51,293 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - node2: fakeSnapshot purging log to 1 for term 3 06:36:51,293 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Checking sendAppendEntries for follower node1: active: true, followerNextIndex: 4, leaderLastIndex: 3, leaderSnapShotIndex: 1 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - node1: persist complete JournaledLogEntry{index=1, term=1, command=2, pending=false} 06:36:51,293 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - node2: persist complete JournaledLogEntry{index=2, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=false} 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - node1: persist complete JournaledLogEntry{index=2, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]}, pending=false} 06:36:51,293 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PreLeader - node2 (PreLeader): Received ApplyState[identifier=null, entry=JournaledLogEntry{index=1, term=1, command=2, pending=false}] - lastApplied: 2, lastIndex: 3 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - node1: persist complete JournaledLogEntry{index=3, term=3, command=org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd, pending=false} 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - node1 (Follower): Commit index set to 2 06:36:51,293 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActorVotingConfigSupport - node2: VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} has been successfully replicated to a majority of followers 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 2 (of expected -1) 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - node1 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 2, context.getLastApplied(): 0, lastIndex(): 3 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - node1 (Follower): Setting last applied to 1 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - node1: Moving last applied index from 0 to 1 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - node1: Applying state for log index 1 data 2 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - node1: applyState called: 2 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - node1 (Follower): Setting last applied to 2 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - node1: Moving last applied index from 1 to 2 06:36:51,293 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (PreLeader): Applying to log - commitIndex: 3, lastAppliedIndex: 2 06:36:51,293 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - node2 (PreLeader): Setting last applied to 3 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - node1: Applying state for log index 2 data VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=true], ServerInfo[peerId=node2, isVoting=true]]} 06:36:51,293 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - node2: Moving last applied index from 2 to 3 06:36:51,293 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Applying state for log index 3 data org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - node1: Persisting ApplyJournalEntries with index=2 06:36:51,293 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - node1: fakeSnapshot purging log to 1 for term 3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - node2: Persisting ApplyJournalEntries with index=3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - node2: fakeSnapshot purging log to 2 for term 3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - node2: persist complete JournaledLogEntry{index=3, term=3, command=org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd, pending=false} 06:36:51,294 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - node1 (Follower): Commit index set to 3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:51,294 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - node1 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 3, context.getLastApplied(): 2, lastIndex(): 3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorBehavior - node1 (Follower): Setting last applied to 3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractReplicatedLog - node1: Moving last applied index from 2 to 3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActor - node1: Applying state for log index 3 data org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd 06:36:51,294 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActor - node1: Persisting ApplyJournalEntries with index=3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PreLeader - node2 (PreLeader): Received ApplyState[identifier=null, entry=JournaledLogEntry{index=3, term=3, command=org.opendaylight.controller.cluster.raft.persisted.NoopPayload@1e1a1edd, pending=false}] - lastApplied: 3, lastIndex: 3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SnapshotManager - node1: fakeSnapshot purging log to 2 for term 3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (Leader): Election: Leader has following peers: [node1] 06:36:51,294 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - node2 (Leader): Checking sendAppendEntries for follower node1: active: true, followerNextIndex: 4, leaderLastIndex: 3, leaderSnapShotIndex: 2 06:36:51,294 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActorBehavior - node2 (PreLeader) :- Switching from behavior PreLeader to Leader, election term: 3 06:36:51,294 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:51,408 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:51,529 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:51,648 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:51,768 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:51,889 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:52,8 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:52,129 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:52,248 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:52,368 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:52,488 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:52,609 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:52,728 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:52,849 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:52,968 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:53,88 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:53,208 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:53,328 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:53,448 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:53,568 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:53,689 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:53,808 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:53,928 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:54,49 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:54,168 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:54,288 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:54,409 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:54,528 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:54,648 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:54,768 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:54,888 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:55,9 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:55,128 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:55,248 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:55,368 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:55,488 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:55,609 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:55,728 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:55,848 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:55,968 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:56,89 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:56,208 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:56,316 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower138] 06:36:56,318 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - node1: Lagging 0 entries behind leader node2 and reached 3 (of expected -1) 06:36:56,327 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector139#507816648] 06:36:56,328 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/node1] 06:36:56,328 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - node1: stopped executor with 0 remaining tasks 06:36:56,328 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - node1: stopped executor with 0 remaining tasks 06:36:56,329 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector140#-1140694803] 06:36:56,330 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/node2] 06:36:56,330 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - node2: stopped executor with 0 remaining tasks 06:36:56,330 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - node2: stopped executor with 0 remaining tasks 06:36:56,335 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithNoConsensusReached starting [WARN] [06/25/2025 18:36:56.337] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server143]: org.opendaylight.controller.cluster.common.actor.Monitor@1211d671 06:36:56,338 PM [test-pekko.actor.default-dispatcher-17] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:36:56,338 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: started executor 06:36:56,338 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: started executor 06:36:56,340 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/new-server/TermInfo.properties does not exist 06:36:56,340 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: no eligible files found 06:36:56,340 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:56,344 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:36:56,344 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:36:56,344 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@4f98669c 06:36:56,344 PM [test-pekko.actor.default-dispatcher-6] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:36:56.345] [test-pekko.actor.default-dispatcher-17] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader144]: org.opendaylight.controller.cluster.common.actor.Monitor@24a56233 06:36:56,346 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:56,346 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:56,346 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:56,346 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:56,347 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/TermInfo.properties does not exist 06:36:56,348 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: no eligible files found 06:36:56,348 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:56,350 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:56,350 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:56,350 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@7727aa12 06:36:56,350 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:56,359 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server143, votingMember=true], state: Idle 06:36:56,359 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server143, votingMember=true] 06:36:56,359 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - leader: Capturing Snapshot : lastLogEntry is null. Using snapshot values lastAppliedIndex -1 and lastAppliedTerm -1 instead. 06:36:56,359 PM [test-pekko.actor.default-dispatcher-6] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=false] to install on new-server 06:36:56,359 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - leader: lastSequenceNumber prior to capture: -1 06:36:56,359 PM [test-pekko.actor.default-dispatcher-6] [INFO] MockRaftActor - leader: support() called 06:36:56,360 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating capture snapshot for new server new-server 06:36:56,360 PM [test-pekko.actor.default-dispatcher-6] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=-1, term=-1]/EntryInfo[index=-1, term=-1] 06:36:56,360 PM [test-pekko.actor.default-dispatcher-6] [INFO] MockRaftActor - leader: support() called 06:36:56,360 PM [test-pekko.actor.default-dispatcher-6] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: -1 and term: -1 06:36:56,360 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): sendInstallSnapshot 06:36:56,361 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Snapshot 157 bytes, total chunks to send: 1 06:36:56,361 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Next chunk: total length=157, offset=0, size=157, hashCode=1546036366 06:36:56,361 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): next snapshot chunk size for follower new-server: 157 06:36:56,361 PM [leader-%d210696] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-1581763A.tmp 06:36:56,361 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): InstallSnapshot sent to follower Vector(user, new-server143), Chunk: 1/1 06:36:56,361 PM [test-pekko.actor.default-dispatcher-12] [INFO] Follower - new-server (Follower): Term 1 in "InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=-1, lastIncludedTerm=-1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]}" message is greater than follower's term 0 - updating term 06:36:56,363 PM [leader-%d210696] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-1581763A.v1 06:36:56,363 PM [leader-%d210696] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-1581763A.v1 06:36:56,363 PM [leader-%d210696] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/TermInfo.properties 06:36:56,363 PM [leader-%d210696] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:56.360805946Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-1581763A.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:56,363 PM [test-pekko.actor.default-dispatcher-6] [INFO] SnapshotManager - leader: snapshot is durable as of 2025-06-25T18:36:56.360805946Z 06:36:56,363 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - leader: Snapshot success - sequence number: -1 06:36:56,364 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorSnapshotMessageSupport - leader: SnapshotComplete received 06:36:56,364 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=1, votedFor=null 06:36:56,364 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=-1, lastIncludedTerm=-1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]} 06:36:56,364 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - new-server: Last sync leader does not match current leader leader, need to catch up to -1 06:36:56,364 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotTracker - new-server (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 06:36:56,364 PM [test-pekko.actor.default-dispatcher-12] [INFO] Follower - new-server (Follower): Snapshot received from leader: leader 06:36:56,365 PM [test-pekko.actor.default-dispatcher-12] [INFO] SnapshotManager - new-server: Applying snapshot on follower: PlainSnapshotSource{io=MemoryStreamSource{size=157}} 06:36:56,365 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - new-server: support() called [WARN] [06/25/2025 18:36:56.365] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/new-server143] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=false] 06:36:56,365 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - new-server: Converted InstallSnapshot from leader: leader to state 06:36:56,365 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - new-server: lastSequenceNumber prior to persisting applied snapshot: -1 06:36:56,365 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - new-server: support() called 06:36:56,366 PM [new-server-%d716611] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/new-server/snapshot-00000000685C41C8-15D4ABC2.tmp 06:36:56,368 PM [new-server-%d716611] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/new-server/snapshot-00000000685C41C8-15D4ABC2.v1 06:36:56,368 PM [new-server-%d716611] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/new-server/snapshot-00000000685C41C8-15D4ABC2.v1 06:36:56,368 PM [new-server-%d716611] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/new-server/TermInfo.properties 06:36:56,368 PM [new-server-%d716611] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:56.366259138Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/new-server/snapshot-00000000685C41C8-15D4ABC2.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:56,368 PM [test-pekko.actor.default-dispatcher-17] [INFO] SnapshotManager - new-server: snapshot is durable as of 2025-06-25T18:36:56.366259138Z 06:36:56,368 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SnapshotManager - new-server: Snapshot success - sequence number: -1 06:36:56,368 PM [test-pekko.actor.default-dispatcher-17] [INFO] MockRaftActor - new-server: support() called 06:36:56,369 PM [test-pekko.actor.default-dispatcher-17] [INFO] MockRaftActor - new-server: applySnapshot called 06:36:56,369 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:56,369 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleInstallSnapshotReply: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:56,369 PM [test-pekko.actor.default-dispatcher-12] [INFO] AbstractLeader - leader (Leader): Snapshot successfully installed on follower new-server (last chunk 1) - matchIndex set to -1, nextIndex set to 0 06:36:56,369 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - Sent message UnInitializedFollowerSnapshotReply to self 06:36:56,369 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorSnapshotMessageSupport - new-server: SnapshotComplete received 06:36:56,409 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: onUnInitializedFollowerSnapshotReply: UnInitializedFollowerSnapshotReply [followerId=new-server] 06:36:56,409 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]] 06:36:56,409 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActor - leader: Persist data index=0 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:56,409 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:56,409 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=b937af4e-97f9-4cb0-983c-76a7034379ff}, logIndex: 0, isSendImmediate: true 06:36:56,409 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:36:56,410 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:56,410 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:56,410 PM [leader-%d210697] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-186CB6FB.tmp 06:36:56,410 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:56,410 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server143, votingMember=true] 06:36:56,412 PM [leader-%d210697] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-186CB6FB.v1 06:36:56,412 PM [leader-%d210697] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-1581763A.v1 06:36:56,412 PM [leader-%d210697] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-186CB6FB.v1 06:36:56,413 PM [leader-%d210697] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/TermInfo.properties 06:36:56,413 PM [leader-%d210697] [DEBUG] RaftStorage - leader: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:56.360805946Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-1581763A.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:56,413 PM [leader-%d210697] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:56.409777915Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2841283481986780550/leader/snapshot-00000000685C41C8-186CB6FB.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:56,413 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:56,459 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server2, newServerAddress=, votingMember=false], state: Persisting 06:36:56,460 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: Server operation already in progress - queueing AddServer [newServerId=new-server2, newServerAddress=, votingMember=false] 06:36:56,478 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:56,598 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:56,599 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}]} 06:36:56,719 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:56,719 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}]} 06:36:56,838 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:56,838 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}]} 06:36:56,958 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:56,958 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}]} 06:36:57,78 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:57,79 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}]} 06:36:57,198 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:57,198 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}]} 06:36:57,318 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:57,318 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}]} 06:36:58,428 PM [test-pekko.actor.default-dispatcher-12] [WARN] RaftActorVotingConfigSupport - leader: Timeout occured while replicating the new server configuration for new-server 06:36:58,429 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Returning PRIOR_REQUEST_CONSENSUS_TIMEOUT for operation AddServer [newServerId=new-server2, newServerAddress=, votingMember=false] 06:36:58,429 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server2, newServerAddress=, votingMember=false], state: Persisting 06:36:58,429 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Returning PRIOR_REQUEST_CONSENSUS_TIMEOUT for operation AddServer [newServerId=new-server2, newServerAddress=, votingMember=false] 06:36:58,429 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithNoConsensusReached ending 06:36:58,429 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower141] 06:36:58,440 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector142#1416391492] 06:36:58,441 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server143] 06:36:58,441 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:58,441 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:58,441 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader144] 06:36:58,441 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:58,441 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:58,441 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector145] 06:36:58,442 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-serverCollector146] 06:36:58,544 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerLeaderWithNoFollowers starting [WARN] [06/25/2025 18:36:58.546] [test-pekko.actor.default-dispatcher-17] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader148]: org.opendaylight.controller.cluster.common.actor.Monitor@4e7a0c08 06:36:58,546 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:58,547 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:58,547 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: started executor 06:36:58,547 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: started executor 06:36:58,548 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest8758526966043048371/leader/TermInfo.properties does not exist 06:36:58,548 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: no eligible files found 06:36:58,548 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:58,553 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:58,553 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:58,554 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@4e8bbd02 06:36:58,554 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:58,656 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: onRemoveServer: RemoveServer{serverId='leader'}, state: Idle 06:36:58,656 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerLeaderWithNoFollowers ending 06:36:58,656 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower147] 06:36:58,667 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader148] 06:36:58,668 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:58,668 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:58,670 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithLeaderChangeBeforePriorSnapshotComplete starting [WARN] [06/25/2025 18:36:58.672] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server151]: org.opendaylight.controller.cluster.common.actor.Monitor@50946201 06:36:58,673 PM [test-pekko.actor.default-dispatcher-17] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:36:58,673 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: started executor 06:36:58,673 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: started executor 06:36:58,674 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14996576641232667548/new-server/TermInfo.properties does not exist 06:36:58,675 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: no eligible files found 06:36:58,675 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:58,677 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:36:58,677 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:36:58,677 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@1f8c85d5 06:36:58,678 PM [test-pekko.actor.default-dispatcher-6] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:36:58.678] [test-pekko.actor.default-dispatcher-17] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader152]: org.opendaylight.controller.cluster.common.actor.Monitor@620058c3 06:36:58,679 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:58,679 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:58,679 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:58,679 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:58,680 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14996576641232667548/leader/TermInfo.properties does not exist 06:36:58,680 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: no eligible files found 06:36:58,680 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:58,682 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:58,682 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:58,682 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@7bfccf64 06:36:58,683 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:58,781 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActor - leader: Take a snapshot of current state. lastReplicatedLog is null and replicatedToAllIndex is -1 06:36:58,781 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractReplicatedLog - leader: Capturing Snapshot : lastLogEntry is null. Using snapshot values lastAppliedIndex -1 and lastAppliedTerm -1 instead. 06:36:58,781 PM [test-pekko.actor.default-dispatcher-17] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=true] 06:36:58,781 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SnapshotManager - leader: captured snapshot at lastSequenceNumber: -1 06:36:58,781 PM [test-pekko.actor.default-dispatcher-17] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=-1, term=-1]/EntryInfo[index=-1, term=-1] 06:36:58,781 PM [test-pekko.actor.default-dispatcher-17] [INFO] MockRaftActor - leader: support() called 06:36:58,782 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SnapshotManager - leader: user triggered or root overwrite snapshot encountered, trimming log up to last applied index -1 06:36:58,782 PM [test-pekko.actor.default-dispatcher-17] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: -1 and term: -1 06:36:58,783 PM [leader-%d3290] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14996576641232667548/leader/snapshot-00000000685C41CA-2EA45C52.tmp 06:36:58,785 PM [leader-%d3290] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14996576641232667548/leader/snapshot-00000000685C41CA-2EA45C52.v1 06:36:58,786 PM [leader-%d3290] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14996576641232667548/leader/snapshot-00000000685C41CA-2EA45C52.v1 06:36:58,786 PM [leader-%d3290] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14996576641232667548/leader/TermInfo.properties 06:36:58,786 PM [leader-%d3290] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:58.782523474Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest14996576641232667548/leader/snapshot-00000000685C41CA-2EA45C52.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:58,791 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server151, votingMember=true], state: Idle 06:36:58,791 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server151, votingMember=true] 06:36:58,791 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SnapshotManager - leader: captureToInstall should not be called in state PersistCapture[lastSequenceNumber=-1, request=CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=true]] 06:36:58,791 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: Snapshot already in progress - waiting for completion 06:36:58,895 PM [test-pekko.actor.default-dispatcher-17] [INFO] SnapshotManager - leader: snapshot is durable as of 2025-06-25T18:36:58.782523474Z 06:36:58,895 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SnapshotManager - leader: Snapshot success - sequence number: -1 06:36:58,895 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: onSnapshotComplete 06:36:58,895 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: No longer the leader 06:36:58,895 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorSnapshotMessageSupport - leader: SnapshotComplete received 06:36:58,895 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: handleInstallSnapshotTimeout for new server new-server 06:36:58,895 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorVotingConfigSupport - leader: Returning NO_LEADER for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server151, votingMember=true] 06:36:58,896 PM [test-pekko.actor.default-dispatcher-17] [WARN] RaftActorVotingConfigSupport - leader: Timeout occured for new server new-server while waiting for prior snapshot to complete 06:36:58,896 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithLeaderChangeBeforePriorSnapshotComplete ending 06:36:58,896 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower149] 06:36:58,897 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector150#-2128090195] 06:36:58,897 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server151] 06:36:58,898 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:58,898 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:58,898 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader152] 06:36:58,898 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:58,898 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:58,901 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServersAsNonVoting starting [WARN] [06/25/2025 18:36:58.902] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server155]: org.opendaylight.controller.cluster.common.actor.Monitor@5d25b942 06:36:58,903 PM [test-pekko.actor.default-dispatcher-17] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:36:58,903 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: started executor 06:36:58,903 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: started executor 06:36:58,904 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/TermInfo.properties does not exist 06:36:58,904 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: no eligible files found 06:36:58,905 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:58,907 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:36:58,907 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:36:58,907 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@70861e9b 06:36:58,908 PM [test-pekko.actor.default-dispatcher-12] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:36:58.908] [test-pekko.actor.default-dispatcher-17] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader156]: org.opendaylight.controller.cluster.common.actor.Monitor@137540d8 06:36:58,909 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:58,909 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:58,909 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: started executor 06:36:58,909 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: started executor 06:36:58,910 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/TermInfo.properties does not exist 06:36:58,910 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: no eligible files found 06:36:58,910 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:58,912 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:58,912 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:58,912 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@53bbb0ed 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server155, votingMember=false], state: Idle 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server155, votingMember=false] 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: New follower is non-voting - directly persisting new server configuration 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]] 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - leader: Persist data index=0 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=040614ec-36f3-4d2e-af48-4407360c6dff}, logIndex: 0, isSendImmediate: true 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 0 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from -1 to 0 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - leader: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:58,913 PM [leader-%d983059] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CA-36764C78.tmp 06:36:58,913 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: false, followerNextIndex: -1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:58,914 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server155, votingMember=false] 06:36:58,914 PM [test-pekko.actor.default-dispatcher-17] [INFO] Follower - new-server (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:36:58,914 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:36:58,916 PM [leader-%d983059] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CA-36764C78.v1 06:36:58,916 PM [leader-%d983059] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CA-36764C78.v1 06:36:58,916 PM [leader-%d983059] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/TermInfo.properties 06:36:58,916 PM [leader-%d983059] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:58.913722488Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CA-36764C78.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:58,916 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=1, votedFor=null 06:36:58,916 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - new-server: Last sync leader does not match current leader leader, need to catch up to -1 06:36:58,916 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:58,917 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: -1, nextIndex: 0 06:36:58,917 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:58,917 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server [WARN] [06/25/2025 18:36:58.917] [test-pekko.actor.default-dispatcher-17] [pekko://test/user/new-server155] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=false] 06:36:58,917 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}]} 06:36:58,917 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - new-server (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}]} 06:36:58,917 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - new-server (Follower): Number of entries to be appended = 1 06:36:58,917 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - new-server (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 06:36:58,917 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - new-server (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:58,917 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] ReplicatedLogImpl - new-server: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:58,917 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CA-36AF393E.tmp 06:36:58,918 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CA-36AF393E.v1 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/TermInfo.properties 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CA-36AF393E.v1 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:58.917453118Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CA-36AF393E.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] ReplicatedLogImpl - new-server: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] PeerInfos - new-server: Updated server config: isVoting: false, peers: [PeerInfo [id=leader, address=null, votingState=VOTING]] 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - new-server (Follower): Log size is now 1 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - new-server (Follower): Commit index set to 0 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - new-server (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=new-server, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - new-server (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActorBehavior - new-server (Follower): Setting last applied to 0 06:36:58,919 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: 0, nextIndex: 1 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractReplicatedLog - new-server: Moving last applied index from -1 to 0 06:36:58,919 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActor - new-server: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:58,919 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:36:58.919] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/new-server155] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=true] 06:36:59,28 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,148 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,269 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,388 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server2, newServerAddress=pekko://test/user/follower153, votingMember=false], state: Idle 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server2, newServerAddress=pekko://test/user/follower153, votingMember=false] 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActorVotingConfigSupport - leader: New follower is non-voting - directly persisting new server configuration 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]] 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActor - leader: Persist data index=1 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=ffc9ce30-bcfe-4b09-84f7-109e7b668fe5}, logIndex: 1, isSendImmediate: true 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 1 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from 0 to 1 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActor - leader: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 1, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 1 is present for follower new-server 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server2: active: false, followerNextIndex: 0, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:36:59,468 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation AddServer [newServerId=new-server2, newServerAddress=pekko://test/user/follower153, votingMember=false] 06:36:59,469 PM [test-pekko.actor.default-dispatcher-16] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:36:59,469 PM [leader-%d983060] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CB-1BEB8D0B.tmp 06:36:59,469 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:59,469 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Number of entries to be appended = 1 06:36:59,469 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): After cleanup, lastIndex: 0, entries to be added from: 0 06:36:59,469 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:59,469 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - new-server: Append log entry and persist JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:59,469 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CB-1C02548D.tmp 06:36:59,470 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] SyncStatusTracker - new-server2: Last sync leader does not match current leader leader, need to catch up to -1 06:36:59,470 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server2 06:36:59,470 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server2: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false}, JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:59,470 PM [test-pekko.actor.default-dispatcher-17] [ERROR] OneForOneStrategy - Cannot invoke "org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.getReplicatedToAllIndex()" because "currentBehavior" is null java.lang.NullPointerException: Cannot invoke "org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.getReplicatedToAllIndex()" because "currentBehavior" is null at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.SnapshotManager.trimLog(SnapshotManager.java:626) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.performSnapshotWithoutCapture(RaftActorBehavior.java:438) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.Follower.handleAppendEntries(Follower.java:221) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.appendEntries(RaftActorBehavior.java:152) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.handleMessage(RaftActorBehavior.java:375) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.Follower.handleMessage(Follower.java:500) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.ForwardMessageToBehaviorActor.onReceive(ForwardMessageToBehaviorActor.java:25) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.UntypedAbstractActor$$anonfun$receive$1.applyOrElse(AbstractActor.scala:341) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.Actor.aroundReceive(Actor.scala:547) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.Actor.aroundReceive$(Actor.scala:545) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.AbstractActor.aroundReceive(AbstractActor.scala:229) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.ActorCell.receiveMessage(ActorCell.scala:590) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.ActorCell.invoke(ActorCell.scala:557) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.processMailbox(Mailbox.scala:280) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.run(Mailbox.scala:241) [ERROR] [06/25/2025 18:36:59.470] [test-pekko.actor.internal-dispatcher-2] [pekko://test/user/follower153] Cannot invoke "org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.getReplicatedToAllIndex()" because "currentBehavior" is null java.lang.NullPointerException: Cannot invoke "org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.getReplicatedToAllIndex()" because "currentBehavior" is null at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.SnapshotManager.trimLog(SnapshotManager.java:626) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.performSnapshotWithoutCapture(RaftActorBehavior.java:438) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.Follower.handleAppendEntries(Follower.java:221) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.appendEntries(RaftActorBehavior.java:152) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior.handleMessage(RaftActorBehavior.java:375) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.behaviors.Follower.handleMessage(Follower.java:500) at org.opendaylight.controller.cluster.raft@11.0.0-SNAPSHOT/org.opendaylight.controller.cluster.raft.ForwardMessageToBehaviorActor.onReceive(ForwardMessageToBehaviorActor.java:25) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.UntypedAbstractActor$$anonfun$receive$1.applyOrElse(AbstractActor.scala:341) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.Actor.aroundReceive(Actor.scala:547) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.Actor.aroundReceive$(Actor.scala:545) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.AbstractActor.aroundReceive(AbstractActor.scala:229) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.ActorCell.receiveMessage(ActorCell.scala:590) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.actor.ActorCell.invoke(ActorCell.scala:557) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.processMailbox(Mailbox.scala:280) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.run(Mailbox.scala:241) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.exec(Mailbox.scala:253) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) at org.opendaylight.controller.repackaged.pekko@11.0.0-SNAPSHOT/org.apache.pekko.dispatch.Mailbox.exec(Mailbox.scala:253) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CB-1C02548D.v1 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/TermInfo.properties 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CA-36AF393E.v1 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CB-1C02548D.v1 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:58.917453118Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CA-36AF393E.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.469914765Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/new-server/snapshot-00000000685C41CB-1C02548D.v1, size=100, entryCompress=NONE, stateCompress=NONE} 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - new-server: persist complete JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - new-server: Updated server config: isVoting: false, peers: [PeerInfo [id=leader, address=null, votingState=VOTING], PeerInfo [id=new-server2, address=null, votingState=NON_VOTING]] 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Log size is now 2 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Commit index set to 1 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=new-server, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 1 (of expected -1) 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 1, context.getLastApplied(): 0, lastIndex(): 1 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - new-server (Follower): Setting last applied to 1 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - new-server: Moving last applied index from 0 to 1 06:36:59,478 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - new-server: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:36:59,478 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: 1, nextIndex: 2 06:36:59,478 PM [leader-%d983060] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CB-1BEB8D0B.v1 06:36:59,478 PM [leader-%d983060] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CA-36764C78.v1 06:36:59,478 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 2, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:36:59,478 PM [leader-%d983060] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CB-1BEB8D0B.v1 06:36:59,479 PM [leader-%d983060] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/TermInfo.properties 06:36:59,479 PM [leader-%d983060] [DEBUG] RaftStorage - leader: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:58.913722488Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CA-36764C78.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:59,479 PM [leader-%d983060] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.468421899Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17712195105722993538/leader/snapshot-00000000685C41CB-1BEB8D0B.v1, size=100, entryCompress=NONE, stateCompress=NONE} 06:36:59,479 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=false], ServerInfo[peerId=new-server2, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:59,519 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServersAsNonVoting ending 06:36:59,519 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower153] 06:36:59,530 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector154#1954994162] 06:36:59,531 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server155] 06:36:59,531 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:59,531 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:59,531 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader156] 06:36:59,531 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:59,531 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:59,532 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector157] 06:36:59,635 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithPriorSnapshotInProgress starting 06:36:59,637 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:36:59,637 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: started executor 06:36:59,637 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: started executor [WARN] [06/25/2025 18:36:59.637] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server160]: org.opendaylight.controller.cluster.common.actor.Monitor@1b98fd51 06:36:59,639 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/TermInfo.properties does not exist 06:36:59,639 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: no eligible files found 06:36:59,639 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:59,641 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:36:59,641 PM [test-pekko.actor.default-dispatcher-6] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:36:59,641 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@40d389b1 06:36:59,642 PM [test-pekko.actor.default-dispatcher-6] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:36:59.643] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader161]: org.opendaylight.controller.cluster.common.actor.Monitor@74f7933 06:36:59,643 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:59,644 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:59,644 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:59,644 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:59,646 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/TermInfo.properties does not exist 06:36:59,646 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: no eligible files found 06:36:59,646 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@47185930 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Take a snapshot of current state. lastReplicatedLog is null and replicatedToAllIndex is -1 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - leader: Capturing Snapshot : lastLogEntry is null. Using snapshot values lastAppliedIndex -1 and lastAppliedTerm -1 instead. 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=true] 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: captured snapshot at lastSequenceNumber: -1 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=-1, term=-1]/EntryInfo[index=-1, term=-1] 06:36:59,648 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - leader: support() called 06:36:59,649 PM [leader-%d983496] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-26B02B6D.tmp 06:36:59,649 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: user triggered or root overwrite snapshot encountered, trimming log up to last applied index -1 06:36:59,649 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: -1 and term: -1 06:36:59,650 PM [leader-%d983496] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-26B02B6D.v1 06:36:59,650 PM [leader-%d983496] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-26B02B6D.v1 06:36:59,650 PM [leader-%d983496] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/TermInfo.properties 06:36:59,650 PM [leader-%d983496] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.649079661Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-26B02B6D.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:59,757 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server160, votingMember=true], state: Idle 06:36:59,757 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server160, votingMember=true] 06:36:59,757 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: captureToInstall should not be called in state PersistCapture[lastSequenceNumber=-1, request=CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=true]] 06:36:59,757 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: Snapshot already in progress - waiting for completion 06:36:59,758 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: snapshot is durable as of 2025-06-25T18:36:59.649079661Z 06:36:59,758 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: Snapshot success - sequence number: -1 06:36:59,758 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: onSnapshotComplete 06:36:59,758 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - leader: Capturing Snapshot : lastLogEntry is null. Using snapshot values lastAppliedIndex -1 and lastAppliedTerm -1 instead. 06:36:59,758 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=false] to install on new-server 06:36:59,758 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: lastSequenceNumber prior to capture: -1 06:36:59,758 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - leader: support() called 06:36:59,758 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating capture snapshot for new server new-server 06:36:59,758 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorSnapshotMessageSupport - leader: SnapshotComplete received 06:36:59,759 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=-1, term=-1]/EntryInfo[index=-1, term=-1] 06:36:59,759 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - leader: support() called 06:36:59,759 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: -1 and term: -1 06:36:59,759 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): sendInstallSnapshot 06:36:59,759 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Snapshot 157 bytes, total chunks to send: 1 06:36:59,759 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Next chunk: total length=157, offset=0, size=157, hashCode=1546036366 06:36:59,759 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): next snapshot chunk size for follower new-server: 157 06:36:59,759 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): InstallSnapshot sent to follower Vector(user, new-server160), Chunk: 1/1 06:36:59,759 PM [leader-%d983498] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2D41380F.tmp 06:36:59,759 PM [test-pekko.actor.default-dispatcher-6] [INFO] Follower - new-server (Follower): Term 1 in "InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=-1, lastIncludedTerm=-1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]}" message is greater than follower's term 0 - updating term 06:36:59,761 PM [leader-%d983498] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2D41380F.v1 06:36:59,762 PM [leader-%d983498] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2D41380F.v1 06:36:59,762 PM [leader-%d983498] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-26B02B6D.v1 06:36:59,762 PM [leader-%d983498] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/TermInfo.properties 06:36:59,762 PM [leader-%d983498] [DEBUG] RaftStorage - leader: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.649079661Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-26B02B6D.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:59,762 PM [leader-%d983498] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.759248911Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2D41380F.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:59,762 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: snapshot is durable as of 2025-06-25T18:36:59.759248911Z 06:36:59,762 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: Snapshot success - sequence number: -1 06:36:59,762 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorSnapshotMessageSupport - leader: SnapshotComplete received 06:36:59,763 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=1, votedFor=null 06:36:59,763 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=-1, lastIncludedTerm=-1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]} 06:36:59,763 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - new-server: Last sync leader does not match current leader leader, need to catch up to -1 06:36:59,763 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotTracker - new-server (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 06:36:59,763 PM [test-pekko.actor.default-dispatcher-6] [INFO] Follower - new-server (Follower): Snapshot received from leader: leader 06:36:59,763 PM [test-pekko.actor.default-dispatcher-6] [INFO] SnapshotManager - new-server: Applying snapshot on follower: PlainSnapshotSource{io=MemoryStreamSource{size=157}} 06:36:59,763 PM [test-pekko.actor.default-dispatcher-6] [INFO] MockRaftActor - new-server: support() called [WARN] [06/25/2025 18:36:59.763] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/new-server160] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=false] 06:36:59,764 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - new-server: Converted InstallSnapshot from leader: leader to state 06:36:59,764 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SnapshotManager - new-server: lastSequenceNumber prior to persisting applied snapshot: -1 06:36:59,764 PM [test-pekko.actor.default-dispatcher-6] [INFO] MockRaftActor - new-server: support() called 06:36:59,764 PM [new-server-%d1672] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2D956264.tmp 06:36:59,766 PM [new-server-%d1672] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2D956264.v1 06:36:59,766 PM [new-server-%d1672] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2D956264.v1 06:36:59,766 PM [new-server-%d1672] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/TermInfo.properties 06:36:59,766 PM [new-server-%d1672] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.764764772Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2D956264.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:59,766 PM [test-pekko.actor.default-dispatcher-11] [INFO] SnapshotManager - new-server: snapshot is durable as of 2025-06-25T18:36:59.764764772Z 06:36:59,766 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SnapshotManager - new-server: Snapshot success - sequence number: -1 06:36:59,767 PM [test-pekko.actor.default-dispatcher-11] [INFO] MockRaftActor - new-server: support() called 06:36:59,767 PM [test-pekko.actor.default-dispatcher-11] [INFO] MockRaftActor - new-server: applySnapshot called 06:36:59,767 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:59,767 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorSnapshotMessageSupport - new-server: SnapshotComplete received 06:36:59,767 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): handleInstallSnapshotReply: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:36:59,767 PM [test-pekko.actor.default-dispatcher-6] [INFO] AbstractLeader - leader (Leader): Snapshot successfully installed on follower new-server (last chunk 1) - matchIndex set to -1, nextIndex set to 0 06:36:59,767 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - Sent message UnInitializedFollowerSnapshotReply to self 06:36:59,767 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: onUnInitializedFollowerSnapshotReply: UnInitializedFollowerSnapshotReply [followerId=new-server] 06:36:59,767 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]] 06:36:59,767 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - leader: Persist data index=0 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:59,767 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:59,768 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=eb7de9f2-fc72-44fa-9889-e262a15c3ba5}, logIndex: 0, isSendImmediate: true 06:36:59,768 PM [leader-%d983499] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2DC6523A.tmp 06:36:59,768 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:36:59,768 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,768 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower new-server 06:36:59,768 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:59,768 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server160, votingMember=true] 06:36:59,768 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:36:59,768 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Number of entries to be appended = 1 06:36:59,768 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 06:36:59,768 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:59,768 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - new-server: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:36:59,768 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2DD1A817.tmp 06:36:59,771 PM [leader-%d983499] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2DC6523A.v1 06:36:59,771 PM [leader-%d983499] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2D41380F.v1 06:36:59,771 PM [leader-%d983499] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2DC6523A.v1 06:36:59,771 PM [leader-%d983499] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/TermInfo.properties 06:36:59,771 PM [leader-%d983499] [DEBUG] RaftStorage - leader: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.759248911Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2D41380F.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:59,771 PM [leader-%d983499] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.767971898Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/leader/snapshot-00000000685C41CB-2DC6523A.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:59,771 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:59,772 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2DD1A817.v1 06:36:59,772 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2D956264.v1 06:36:59,772 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2DD1A817.v1 06:36:59,772 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/TermInfo.properties 06:36:59,772 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.764764772Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2D956264.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:36:59,773 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.768714775Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17573099169247160752/new-server/snapshot-00000000685C41CB-2DD1A817.v1, size=86, entryCompress=NONE, stateCompress=NONE} 06:36:59,773 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - new-server: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:36:59,773 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - new-server: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=null, votingState=VOTING]] 06:36:59,773 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): Log size is now 1 06:36:59,773 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=new-server, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:59,773 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached -1 (of expected -1) 06:36:59,773 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: 0, nextIndex: 1 06:36:59,773 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Applying to log - commitIndex: 0, lastAppliedIndex: -1 06:36:59,773 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 0 06:36:59,773 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from -1 to 0 06:36:59,773 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActor - leader: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} [WARN] [06/25/2025 18:36:59.773] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/new-server160] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=true] 06:36:59,773 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,773 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:36:59,773 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): Commit index set to 0 06:36:59,773 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,773 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - new-server (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:36:59,773 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - new-server (Follower): Setting last applied to 0 06:36:59,773 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - new-server: Moving last applied index from -1 to 0 06:36:59,773 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - new-server: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:36:59,821 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithPriorSnapshotInProgress ending 06:36:59,822 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower158] 06:36:59,832 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector159#852985035] 06:36:59,833 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server160] 06:36:59,833 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:59,833 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:36:59,833 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader161] 06:36:59,833 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:59,833 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:59,834 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector162] 06:36:59,938 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeLeaderToNonVotingInSingleNode starting [WARN] [06/25/2025 18:36:59.939] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader164]: org.opendaylight.controller.cluster.common.actor.Monitor@62fe0b5d 06:36:59,940 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:59,940 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:59,941 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:59,941 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:59,943 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest15435373277175269437/leader/TermInfo.properties does not exist 06:36:59,943 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: no eligible files found 06:36:59,943 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:59,945 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:59,945 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:59,945 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@3e560a8d 06:36:59,946 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:36:59,952 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={leader=false}, serversVisited=[]], state: Idle 06:36:59,952 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:36:59,952 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftActorVotingConfigSupport - leader: Returning INVALID_REQUEST for operation ChangeServersVotingStatus [serverVotingStatusMap={leader=false}, serversVisited=[]] 06:36:59,952 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeLeaderToNonVotingInSingleNode ending 06:36:59,952 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower163] 06:36:59,963 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader164] 06:36:59,963 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:59,963 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:36:59,966 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeLeaderToNonVoting starting [WARN] [06/25/2025 18:36:59.967] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader168]: org.opendaylight.controller.cluster.common.actor.Monitor@59c930b3 06:36:59,968 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:59,968 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:36:59,969 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:59,969 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:36:59,971 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/leader/TermInfo.properties does not exist 06:36:59,971 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: no eligible files found 06:36:59,971 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 [WARN] [06/25/2025 18:36:59.972] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/follower166]: org.opendaylight.controller.cluster.common.actor.Monitor@d57ec3c 06:36:59,973 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - follower: Starting recovery with journal batch size 1000 06:36:59,973 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:36:59,973 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:36:59,973 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@5b367a21 06:36:59,973 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - follower: started executor 06:36:59,973 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - follower: started executor 06:36:59,973 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [follower2, follower] 06:36:59,973 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 06:36:59,973 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:36:59.973] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/follower2167] received dead letter from TestActor[pekko://test/user/leader168]: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} 06:36:59,974 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower/TermInfo.properties does not exist 06:36:59,974 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: no eligible files found 06:36:59,974 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - follower: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 [WARN] [06/25/2025 18:36:59.975] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/follower2167]: org.opendaylight.controller.cluster.common.actor.Monitor@7e184214 06:36:59,975 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - follower2: Starting recovery with journal batch size 1000 06:36:59,975 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - follower2: started executor 06:36:59,975 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - follower2: started executor 06:36:59,976 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=0, votedFor=null 06:36:59,976 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - follower: Local TermInfo store seeded with TermInfo{term=0} 06:36:59,976 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - follower: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@170ddaeb 06:36:59,976 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:36:59,976 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={leader=false}, serversVisited=[]], state: Idle 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PeerInfos - leader: Updated server config: isVoting: false, peers: [PeerInfo [id=follower2, address=pekko://test/user/follower2167, votingState=VOTING], PeerInfo [id=follower, address=pekko://test/user/follower166, votingState=VOTING]] 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]] 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Persist data index=0 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]} 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=true} 06:36:59,977 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower2/TermInfo.properties does not exist 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=9c6a8c4b-0bf0-4116-8159-b01eca6892d2}, logIndex: 0, isSendImmediate: true 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: false, followerNextIndex: -1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,977 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - follower2: no eligible files found 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: false, followerNextIndex: -1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,977 PM [test-pekko.actor.default-dispatcher-17] [INFO] PekkoRecovery - follower2: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:36:59,977 PM [leader-%d478184] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/leader/snapshot-00000000685C41CB-3A40AFA7.tmp 06:36:59,977 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation ChangeServersVotingStatus [serverVotingStatusMap={leader=false}, serversVisited=[]] 06:36:59,979 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=1, votedFor=null 06:36:59,979 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to -1 06:36:59,979 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached -1 (of expected -1) 06:36:59,979 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: -1, nextIndex: 0 06:36:59,980 PM [leader-%d478184] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/leader/snapshot-00000000685C41CB-3A40AFA7.v1 06:36:59,980 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] PropertiesTermInfoStore - follower2: Set currentTerm=0, votedFor=null 06:36:59,980 PM [test-pekko.actor.default-dispatcher-17] [INFO] PekkoRecovery - follower2: Local TermInfo store seeded with TermInfo{term=0} 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,980 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActor - follower2: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@5a24f1b5 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower follower 06:36:59,980 PM [leader-%d478184] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/leader/snapshot-00000000685C41CB-3A40AFA7.v1 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=true}]} 06:36:59,980 PM [leader-%d478184] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/leader/TermInfo.properties 06:36:59,980 PM [leader-%d478184] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.977317799Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/leader/snapshot-00000000685C41CB-3A40AFA7.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:36:59,980 PM [test-pekko.actor.default-dispatcher-17] [INFO] Follower - follower2 (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower follower 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false} [WARN] [06/25/2025 18:36:59.980] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/follower166] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=false] [WARN] [06/25/2025 18:36:59.980] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/follower166] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=true] 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false}]} 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]} 06:36:59,980 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - follower: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false} 06:36:59,981 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower/snapshot-00000000685C41CB-3A78D636.tmp 06:36:59,982 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] PropertiesTermInfoStore - follower2: Set currentTerm=1, votedFor=null 06:36:59,982 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - follower2: Last sync leader does not match current leader leader, need to catch up to -1 06:36:59,982 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower2 updated: matchIndex: -1, nextIndex: 0 06:36:59,982 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,982 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower follower2 06:36:59,982 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower2: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false}]} 06:36:59,982 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower/snapshot-00000000685C41CB-3A78D636.v1 [WARN] [06/25/2025 18:36:59.982] [test-pekko.actor.default-dispatcher-17] [pekko://test/user/follower2167] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower2, initialSyncDone=false] 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower/snapshot-00000000685C41CB-3A78D636.v1 06:36:59,983 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - follower2 (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false}]} 06:36:59,983 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - follower2 (Follower): Number of entries to be appended = 1 06:36:59,983 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - follower2 (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 06:36:59,983 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - follower2 (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]} 06:36:59,983 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] ReplicatedLogImpl - follower2: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false} 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower/TermInfo.properties 06:36:59,983 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - follower2: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower2/snapshot-00000000685C41CB-3A9A574A.tmp 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.980997686Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower/snapshot-00000000685C41CB-3A78D636.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - follower: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false} 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - follower: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=pekko://test/user/leader168, votingState=NON_VOTING], PeerInfo [id=follower2, address=pekko://test/user/follower2167, votingState=VOTING]] 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): Log size is now 1 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached -1 (of expected -1) 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: 0, nextIndex: 1 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Applying to log - commitIndex: 0, lastAppliedIndex: -1 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 0 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from -1 to 0 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - leader: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]} 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]} has been successfully replicated to a majority of followers 06:36:59,983 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - Leader changed to non-voting - trying leadership transfer 06:36:59,984 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - leader: Initiating leader transfer 06:36:59,984 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - follower2: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower2/snapshot-00000000685C41CB-3A9A574A.v1 06:36:59,984 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - follower2: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower2/snapshot-00000000685C41CB-3A9A574A.v1 06:36:59,984 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - follower2: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower2/TermInfo.properties 06:36:59,984 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftStorage - follower2: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:36:59.983193418Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest6239780360253894828/follower2/snapshot-00000000685C41CB-3A9A574A.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:36:59,985 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] ReplicatedLogImpl - follower2: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false} 06:36:59,985 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] PeerInfos - follower2: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=pekko://test/user/leader168, votingState=NON_VOTING], PeerInfo [id=follower, address=pekko://test/user/follower166, votingState=VOTING]] 06:36:59,985 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - follower2 (Follower): Log size is now 1 06:36:59,985 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] Follower - follower2 (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower2, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:59,985 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - follower2: Lagging 0 entries behind leader leader and reached -1 (of expected -1) 06:36:59,985 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] Follower - follower (Follower): Commit index set to 0 06:36:59,985 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,985 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:36:59,985 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 0 06:36:59,985 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] AbstractReplicatedLog - follower: Moving last applied index from -1 to 0 06:36:59,985 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActor - follower: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]} 06:36:59,985 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] RaftActor - follower2: onLeaderTransitioning: LeaderTransitioning [leaderId=leader] [WARN] [06/25/2025 18:36:59.985] [test-pekko.actor.default-dispatcher-17] [pekko://test/user/follower2167] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower2, initialSyncDone=true] 06:36:59,986 PM [test-pekko.actor.default-dispatcher-16] [DEBUG] RaftActor - follower: onLeaderTransitioning: LeaderTransitioning [leaderId=leader] 06:36:59,986 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorLeadershipTransferCohort - leader: pauseLeader successfully completed - doing transfer 06:36:59,986 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Leader - leader (Leader): Attempting to transfer leadership 06:36:59,986 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,986 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower follower2 06:36:59,986 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower2: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false}]} 06:36:59,987 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,987 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower2 (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false}]} 06:36:59,987 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower2 updated: matchIndex: 0, nextIndex: 1 06:36:59,987 PM [test-pekko.actor.default-dispatcher-17] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,987 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower2 (Follower): Number of entries to be appended = 1 06:36:59,987 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,987 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Leader - leader (Leader): tryToCompleteLeadershipTransfer: followerId: follower2, matchIndex: 0, lastIndex: 0, isVoting: true 06:36:59,987 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Leader - leader (Leader): Follower's log matches - sending ElectionTimeout 06:36:59,987 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,987 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,987 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,987 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Leader - leader (Leader): Leader transfer complete 06:36:59,987 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorLeadershipTransferCohort - leader: leader transfer complete - waiting for new leader 06:36:59,987 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower2 (Follower): matchEntry JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]}, pending=false} is present: existingEntryTerm: 1 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower2 (Follower): After cleanup, lastIndex: 0, entries to be added from: 1 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower2 (Follower): Log size is now 1 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower2 (Follower): Commit index set to 0 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower2 (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower2, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - follower2: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower2 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorBehavior - follower2 (Follower): Setting last applied to 0 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractReplicatedLog - follower2: Moving last applied index from -1 to 0 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - follower2: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=false]]} 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - follower2: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower2 (Follower): Received TimeoutNow - switching to Candidate 06:36:59,988 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Candidate - follower2 (Candidate): Election: Candidate has following voting peers: [follower] 06:36:59,990 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - follower2: Set currentTerm=2, votedFor=follower2 06:36:59,990 PM [test-pekko.actor.default-dispatcher-18] [INFO] Candidate - follower2 (Candidate): Starting new election term 2 06:36:59,990 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Candidate - follower2 (Candidate): Sending RequestVote{term=2, candidateId=follower2, lastLogIndex=0, lastLogTerm=1} to peer follower 06:36:59,990 PM [test-pekko.actor.default-dispatcher-18] [INFO] RaftActorBehavior - follower2 (Follower) :- Switching from behavior Follower to Candidate, election term: 2 06:36:59,990 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - follower (Follower): Found higher term in RequestVote rpc, verifying whether it's safe to update term. 06:36:59,990 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - follower (Follower): Cluster state: [] 06:36:59,990 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - follower (Follower): Candidate in requestVote:RequestVote{term=2, candidateId=follower2, lastLogIndex=0, lastLogTerm=1} with higher term appears reachable, updating term. 06:36:59,990 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): Term 2 in "RequestVote{term=2, candidateId=follower2, lastLogIndex=0, lastLogTerm=1}" message is greater than follower's term 1 - updating term 06:36:59,992 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=2, votedFor=null 06:36:59,992 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - follower (Follower): In requestVote: RequestVote{term=2, candidateId=follower2, lastLogIndex=0, lastLogTerm=1} - currentTerm: 2, votedFor: null, lastIndex: 0, lastTerm: 1 06:36:59,994 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=2, votedFor=follower2 06:36:59,994 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - follower (Follower): requestVote returning: RequestVoteReply{term=2, voteGranted=true} 06:36:59,994 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Candidate - follower2 (Candidate): RaftRPC message received RequestVoteReply{term=2, voteGranted=true}, my term is 2 06:36:59,994 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Candidate - follower2 (Candidate): handleRequestVoteReply: RequestVoteReply{term=2, voteGranted=true}, current voteCount: 1 06:36:59,994 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - follower2 (Leader): Election: Leader has following peers: [leader, follower] 06:36:59,994 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - follower2 (Leader): Checking sendAppendEntries for follower leader: active: false, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,994 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - follower2 (Leader): Checking sendAppendEntries for follower follower: active: false, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:36:59,994 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActorBehavior - follower2 (Candidate) :- Switching from behavior Candidate to Leader, election term: 2 06:36:59,994 PM [test-pekko.actor.default-dispatcher-11] [INFO] AbstractLeader - leader (Leader): Term 2 in "AppendEntries{term=2, leaderId=follower2, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than leader's term 1 - switching to Follower 06:36:59,995 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader follower2, need to catch up to -1 06:36:59,995 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - follower2 (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: 0, nextIndex: 1 06:36:59,995 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - follower2 (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:36:59.995] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/follower166] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=false] 06:36:59,996 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader follower2 and reached 0 (of expected -1) [WARN] [06/25/2025 18:36:59.996] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/follower166] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=true] 06:36:59,997 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=2, votedFor=null 06:36:59,997 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActorBehavior - leader (Leader) :- Switching from behavior Leader to Follower, election term: 2 06:37:00,508 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader follower2 and reached 0 (of expected -1) 06:37:00,508 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - leader: Last sync leader does not match current leader follower2, need to catch up to -1 06:37:00,508 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - follower2 (Leader): handleAppendEntriesReply - FollowerLogInformation for leader updated: matchIndex: 0, nextIndex: 1 06:37:00,508 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - follower2 (Leader): Checking sendAppendEntries for follower leader: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:37:00,508 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorLeadershipTransferCohort - leader: leader changed to follower2 06:37:00,509 PM [test-pekko.actor.default-dispatcher-18] [INFO] RaftActorLeadershipTransferCohort - leader: Successfully transferred leadership to follower2 in 524.2 ms 06:37:00,509 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - leader: leader transfer succeeded after change to non-voting 06:37:00,510 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - leader: Lagging 0 entries behind leader follower2 and reached 0 (of expected -1) [WARN] [06/25/2025 18:37:00.510] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/leader168] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=leader, initialSyncDone=false] [WARN] [06/25/2025 18:37:00.510] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/leader168] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=leader, initialSyncDone=true] 06:37:00,531 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeLeaderToNonVoting ending 06:37:00,531 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower165] 06:37:00,533 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader168] 06:37:00,533 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:00,533 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:00,533 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector169] 06:37:00,534 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector170#-1547875449] 06:37:00,535 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower166] 06:37:00,535 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:00,535 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:00,536 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector171#-676193550] 06:37:00,536 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower2167] 06:37:00,537 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - follower2: stopped executor with 0 remaining tasks 06:37:00,537 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - follower2: stopped executor with 0 remaining tasks 06:37:00,540 PM [main] [INFO] RaftActorVotingConfigSupportTest - testOnApplyState starting [WARN] [06/25/2025 18:37:00.540] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader173]: org.opendaylight.controller.cluster.common.actor.Monitor@3363618f 06:37:00,541 PM [test-pekko.actor.default-dispatcher-6] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:37:00,541 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:37:00,542 PM [test-pekko.actor.default-dispatcher-6] [DEBUG] RaftStorage - leader: started executor 06:37:00,542 PM [main] [INFO] RaftActorVotingConfigSupportTest - testOnApplyState ending 06:37:00,542 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower172] 06:37:00,547 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest1641936393552729632/leader/TermInfo.properties does not exist 06:37:00,548 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: no eligible files found 06:37:00,548 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:00,550 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader173] 06:37:00,558 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=0, votedFor=null 06:37:00,558 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=0} 06:37:00,558 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@5db9185a 06:37:00,558 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:00,558 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:00,560 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServer starting [WARN] [06/25/2025 18:37:00.561] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader177]: org.opendaylight.controller.cluster.common.actor.Monitor@79d8658c 06:37:00,561 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:37:00,562 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:37:00,562 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: started executor 06:37:00,562 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: started executor 06:37:00,563 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/leader/TermInfo.properties does not exist 06:37:00,563 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: no eligible files found 06:37:00,563 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:00,566 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:37:00,566 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:37:00,566 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@764714a4 06:37:00,567 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [follower2, follower, downNode] 06:37:00,567 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 06:37:00,567 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 06:37:00,567 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower downNode: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:37:00.567] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/follower2176] received dead letter from TestActor[pekko://test/user/leader177]: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} [WARN] [06/25/2025 18:37:00.567] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/follower175] received dead letter from TestActor[pekko://test/user/leader177]: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} [WARN] [06/25/2025 18:37:00.568] [test-pekko.actor.default-dispatcher-11] [pekko://test/] unhandled message from TestActor[pekko://test/user/leader177]: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} [WARN] [06/25/2025 18:37:00.665] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/follower175]: org.opendaylight.controller.cluster.common.actor.Monitor@49d9eb46 06:37:00,666 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActor - follower: Starting recovery with journal batch size 1000 06:37:00,666 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: started executor 06:37:00,666 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: started executor 06:37:00,668 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/follower/TermInfo.properties does not exist 06:37:00,668 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: no eligible files found 06:37:00,668 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - follower: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 [WARN] [06/25/2025 18:37:00.668] [test-pekko.actor.default-dispatcher-6] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/follower2176]: org.opendaylight.controller.cluster.common.actor.Monitor@15e8ac7b 06:37:00,669 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - follower2: Starting recovery with journal batch size 1000 06:37:00,669 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - follower2: started executor 06:37:00,670 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - follower2: started executor 06:37:00,671 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/follower2/TermInfo.properties does not exist 06:37:00,671 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - follower2: no eligible files found 06:37:00,671 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - follower2: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:00,671 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=0, votedFor=null 06:37:00,671 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - follower: Local TermInfo store seeded with TermInfo{term=0} 06:37:00,671 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - follower: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@33340e20 06:37:00,673 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - follower2: Set currentTerm=0, votedFor=null 06:37:00,673 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - follower2: Local TermInfo store seeded with TermInfo{term=0} 06:37:00,673 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - follower2: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@3023cfae 06:37:00,678 PM [test-pekko.actor.default-dispatcher-15] [INFO] Follower - follower2 (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:37:00,678 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term [WARN] [06/25/2025 18:37:00.678] [test-pekko.actor.default-dispatcher-18] [pekko://test/] unhandled message from TestActor[pekko://test/user/leader177]: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} 06:37:00,680 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=1, votedFor=null 06:37:00,680 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to -1 06:37:00,680 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: -1, nextIndex: 0 06:37:00,680 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 0, leaderLastIndex: -1, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:37:00.680] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/follower175] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=false] 06:37:00,680 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - follower2: Set currentTerm=1, votedFor=null 06:37:00,680 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - follower2: Last sync leader does not match current leader leader, need to catch up to -1 06:37:00,680 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower2 updated: matchIndex: -1, nextIndex: 0 06:37:00,681 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 0, leaderLastIndex: -1, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:37:00.681] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/follower2176] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower2, initialSyncDone=false] 06:37:00,684 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: onRemoveServer: RemoveServer{serverId='follower'}, state: Idle 06:37:00,684 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]] 06:37:00,684 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - leader: Persist data index=0 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:00,684 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:00,684 PM [leader-%d975987] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/leader/snapshot-00000000685C41CC-28D14A7D.tmp 06:37:00,685 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=8cd4d3b2-694b-4005-8c27-9f663b443e7e}, logIndex: 0, isSendImmediate: true 06:37:00,685 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:37:00,685 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:37:00,685 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower follower2 06:37:00,685 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower2: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:00,685 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower downNode: active: false, followerNextIndex: -1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:37:00,685 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:00,685 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation RemoveServer{serverId='follower'} 06:37:00,685 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): Number of entries to be appended = 1 06:37:00,685 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 06:37:00,685 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:00,685 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - follower2: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} [WARN] [06/25/2025 18:37:00.685] [test-pekko.actor.default-dispatcher-18] [pekko://test/] unhandled message from TestActor[pekko://test/user/leader177]: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} 06:37:00,685 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/follower2/snapshot-00000000685C41CC-28DEBA1B.tmp 06:37:00,686 PM [leader-%d975987] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/leader/snapshot-00000000685C41CC-28D14A7D.v1 06:37:00,686 PM [leader-%d975987] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/leader/snapshot-00000000685C41CC-28D14A7D.v1 06:37:00,686 PM [leader-%d975987] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/leader/TermInfo.properties 06:37:00,686 PM [leader-%d975987] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:00.684804733Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/leader/snapshot-00000000685C41CC-28D14A7D.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:00,687 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:00,687 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/follower2/snapshot-00000000685C41CC-28DEBA1B.v1 06:37:00,687 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/follower2/snapshot-00000000685C41CC-28DEBA1B.v1 06:37:00,687 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/follower2/TermInfo.properties 06:37:00,687 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:00.685685275Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest17850452981126423233/follower2/snapshot-00000000685C41CC-28DEBA1B.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:00,687 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - follower2: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:00,687 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - follower2: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=pekko://test/user/leader177, votingState=VOTING], PeerInfo [id=downNode, address=, votingState=VOTING]] 06:37:00,687 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): Log size is now 1 06:37:00,687 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower2, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:37:00,687 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - follower2: Lagging 0 entries behind leader leader and reached -1 (of expected -1) 06:37:00,687 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower2 updated: matchIndex: 0, nextIndex: 1 06:37:00,687 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Applying to log - commitIndex: 0, lastAppliedIndex: -1 [WARN] [06/25/2025 18:37:00.687] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/follower2176] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower2, initialSyncDone=true] 06:37:00,687 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 0 06:37:00,687 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from -1 to 0 06:37:00,687 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:00,687 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:37:00,688 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): Commit index set to 0 06:37:00,688 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower2: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:37:00,688 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:37:00,688 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - follower2 (Follower): Setting last applied to 0 06:37:00,688 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - follower2: Moving last applied index from -1 to 0 06:37:00,688 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:37:00,688 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - follower2: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=true], ServerInfo[peerId=downNode, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} [WARN] [06/25/2025 18:37:00.688] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/follower175] unhandled message from TestActor[pekko://test/user/leader177]: ServerRemoved [serverId=follower] 06:37:00,736 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServer ending 06:37:00,737 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower174] 06:37:00,748 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader177] 06:37:00,748 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:00,748 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:00,748 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector178] 06:37:00,748 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector179#-1186338256] 06:37:00,748 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower175] 06:37:00,749 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:00,749 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:00,749 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector180#669144550] 06:37:00,749 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower2176] 06:37:00,749 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower2: stopped executor with 0 remaining tasks 06:37:00,749 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower2: stopped executor with 0 remaining tasks 06:37:00,751 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithNoLeader starting [WARN] [06/25/2025 18:37:00.753] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server183]: org.opendaylight.controller.cluster.common.actor.Monitor@2d4f5b48 06:37:00,753 PM [test-pekko.actor.default-dispatcher-18] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:37:00,754 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - new-server: started executor 06:37:00,754 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - new-server: started executor 06:37:00,755 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest5783253978445633599/new-server/TermInfo.properties does not exist 06:37:00,755 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - new-server: no eligible files found 06:37:00,755 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:00,758 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:37:00,758 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:37:00,758 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@ebf57da 06:37:00,758 PM [test-pekko.actor.default-dispatcher-18] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:37:00.759] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader184]: org.opendaylight.controller.cluster.common.actor.Monitor@3fe5d3a5 06:37:00,759 PM [test-pekko.actor.default-dispatcher-18] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:37:00,759 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: started executor 06:37:00,759 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: started executor 06:37:00,760 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest5783253978445633599/leader/TermInfo.properties does not exist 06:37:00,760 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: no eligible files found 06:37:00,760 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:00,764 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=0, votedFor=null 06:37:00,764 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=0} 06:37:00,764 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@45a37c31 06:37:00,775 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server183, votingMember=true], state: Idle 06:37:00,775 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: No leader - returning NO_LEADER reply 06:37:00,775 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithNoLeader ending 06:37:00,775 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower181] 06:37:00,786 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector182#1172871353] 06:37:00,786 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server183] 06:37:00,786 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:37:00,786 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:37:00,786 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader184] 06:37:00,787 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:00,787 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:00,889 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeServersVotingStatus starting [WARN] [06/25/2025 18:37:00.890] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader188]: org.opendaylight.controller.cluster.common.actor.Monitor@5fd1f09b 06:37:00,891 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:37:00,892 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:37:00,892 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: started executor 06:37:00,892 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: started executor 06:37:00,894 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/TermInfo.properties does not exist 06:37:00,894 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: no eligible files found 06:37:00,894 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:00,898 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:37:00,898 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:37:00,898 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@1c54926 06:37:00,899 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [follower2, follower] 06:37:00,899 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 06:37:00,899 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:37:00.899] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/follower2187] received dead letter from TestActor[pekko://test/user/leader188]: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} [WARN] [06/25/2025 18:37:00.899] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/follower186] received dead letter from TestActor[pekko://test/user/leader188]: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} [WARN] [06/25/2025 18:37:00.994] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/follower186]: org.opendaylight.controller.cluster.common.actor.Monitor@1e1b9776 06:37:00,994 PM [test-pekko.actor.default-dispatcher-18] [INFO] RaftActor - follower: Starting recovery with journal batch size 1000 06:37:00,994 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: started executor 06:37:00,995 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: started executor 06:37:00,996 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/TermInfo.properties does not exist 06:37:00,996 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower: no eligible files found 06:37:00,996 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - follower: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:01,0 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=0, votedFor=null 06:37:01,0 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - follower: Local TermInfo store seeded with TermInfo{term=0} 06:37:01,0 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - follower: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@10c31d6a 06:37:01,18 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term [WARN] [06/25/2025 18:37:01.019] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/follower2187] received dead letter from TestActor[pekko://test/user/leader188]: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]} 06:37:01,20 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=1, votedFor=null 06:37:01,20 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to -1 06:37:01,21 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: -1, nextIndex: 0 06:37:01,21 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 0, leaderLastIndex: -1, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:37:01.021] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/follower186] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=false] [WARN] [06/25/2025 18:37:01.095] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/follower2187]: org.opendaylight.controller.cluster.common.actor.Monitor@74b2d750 06:37:01,96 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - follower2: Starting recovery with journal batch size 1000 06:37:01,96 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: started executor 06:37:01,96 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: started executor 06:37:01,98 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/TermInfo.properties does not exist 06:37:01,98 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower2: no eligible files found 06:37:01,98 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - follower2: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:01,100 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - follower2: Set currentTerm=0, votedFor=null 06:37:01,100 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - follower2: Local TermInfo store seeded with TermInfo{term=0} 06:37:01,100 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - follower2: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@5a8b8392 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={follower2=false, follower=false}, serversVisited=[]], state: Idle 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - leader: Updated server config: isVoting: true, peers: [PeerInfo [id=follower2, address=pekko://test/user/follower2187, votingState=NON_VOTING], PeerInfo [id=follower, address=pekko://test/user/follower186, votingState=NON_VOTING]] 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]] 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - leader: Persist data index=0 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=e7462eb7-2d2d-47a9-bb2f-56da010586b9}, logIndex: 0, isSendImmediate: true 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 0 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from -1 to 0 06:37:01,107 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - leader: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,108 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: false, followerNextIndex: -1, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:37:01,108 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:37:01,108 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower follower 06:37:01,108 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,108 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation ChangeServersVotingStatus [serverVotingStatusMap={follower2=false, follower=false}, serversVisited=[]] 06:37:01,108 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:37:01,108 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower2 (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:37:01,109 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,109 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 06:37:01,109 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 06:37:01,109 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,109 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] ReplicatedLogImpl - follower: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:01,109 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-068412B9.tmp 06:37:01,109 PM [leader-%d993490] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-066D53BC.tmp 06:37:01,111 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - follower2: Set currentTerm=1, votedFor=null 06:37:01,111 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower2: Last sync leader does not match current leader leader, need to catch up to -1 06:37:01,111 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower2 updated: matchIndex: -1, nextIndex: 0 06:37:01,111 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:37:01,111 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 0 is present for follower follower2 06:37:01,112 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower2: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} [WARN] [06/25/2025 18:37:01.111] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/follower2187] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower2, initialSyncDone=false] 06:37:01,112 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,112 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): Number of entries to be appended = 1 06:37:01,112 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): After cleanup, lastIndex: -1, entries to be added from: 0 06:37:01,112 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,112 PM [leader-%d993490] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-066D53BC.v1 06:37:01,112 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-068412B9.v1 06:37:01,112 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - follower2: Append log entry and persist JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:01,112 PM [leader-%d993490] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/TermInfo.properties 06:37:01,112 PM [leader-%d993490] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-066D53BC.v1 06:37:01,112 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower2: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-06B67B66.tmp 06:37:01,112 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/TermInfo.properties 06:37:01,112 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-068412B9.v1 06:37:01,112 PM [leader-%d993490] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.107828156Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-066D53BC.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:01,113 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:01,112 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.109318841Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-068412B9.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] ReplicatedLogImpl - follower: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PeerInfos - follower: Updated server config: isVoting: false, peers: [PeerInfo [id=leader, address=pekko://test/user/leader188, votingState=VOTING], PeerInfo [id=follower2, address=pekko://test/user/follower2187, votingState=NON_VOTING]] 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): Log size is now 1 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): Commit index set to 0 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 0 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractReplicatedLog - follower: Moving last applied index from -1 to 0 06:37:01,113 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: 0, nextIndex: 1 06:37:01,113 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - follower: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,113 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:37:01.113] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/follower186] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=true] 06:37:01,114 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower2: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-06B67B66.v1 06:37:01,114 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower2: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-06B67B66.v1 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower2: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/TermInfo.properties 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower2: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.112622438Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-06B67B66.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - follower2: persist complete JournaledLogEntry{index=0, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - follower2: Updated server config: isVoting: false, peers: [PeerInfo [id=leader, address=pekko://test/user/leader188, votingState=VOTING], PeerInfo [id=follower, address=pekko://test/user/follower186, votingState=NON_VOTING]] 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): Log size is now 1 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): Commit index set to 0 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower2, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower2: Lagging 0 entries behind leader leader and reached 0 (of expected -1) 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower2 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - follower2 (Follower): Setting last applied to 0 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - follower2: Moving last applied index from -1 to 0 06:37:01,115 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - follower2: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=false], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,115 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower2 updated: matchIndex: 0, nextIndex: 1 06:37:01,115 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 1, leaderLastIndex: 0, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:37:01.115] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/follower2187] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower2, initialSyncDone=true] 06:37:01,160 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={follower=true}, serversVisited=[]], state: Idle 06:37:01,160 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:37:01,160 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PeerInfos - leader: Updated server config: isVoting: true, peers: [PeerInfo [id=follower2, address=pekko://test/user/follower2187, votingState=NON_VOTING], PeerInfo [id=follower, address=pekko://test/user/follower186, votingState=VOTING]] 06:37:01,160 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]] 06:37:01,160 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Persist data index=1 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,160 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=9fc1c6fc-437c-4e80-af29-cf2917534774}, logIndex: 1, isSendImmediate: true 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 1 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from 0 to 1 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,161 PM [leader-%d993491] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-099AEE8F.tmp 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 1, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 1 is present for follower follower2 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower2: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 1, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 1 is present for follower follower 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,161 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,161 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): Number of entries to be appended = 1 06:37:01,161 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): After cleanup, lastIndex: 0, entries to be added from: 0 06:37:01,161 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation ChangeServersVotingStatus [serverVotingStatusMap={follower=true}, serversVisited=[]] 06:37:01,161 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,161 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,162 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - follower2: Append log entry and persist JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:01,162 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 06:37:01,162 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 0, entries to be added from: 0 06:37:01,162 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,162 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-09A99424.tmp 06:37:01,162 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] ReplicatedLogImpl - follower: Append log entry and persist JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:01,162 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:37:01,162 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-09AB5F5F.tmp 06:37:01,164 PM [leader-%d993491] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-099AEE8F.v1 06:37:01,164 PM [leader-%d993491] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/TermInfo.properties 06:37:01,164 PM [leader-%d993491] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-066D53BC.v1 06:37:01,164 PM [leader-%d993491] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-099AEE8F.v1 06:37:01,165 PM [leader-%d993491] [DEBUG] RaftStorage - leader: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.107828156Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-066D53BC.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:01,165 PM [leader-%d993491] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.161148559Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/leader/snapshot-00000000685C41CD-099AEE8F.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:01,165 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:01,165 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - leader: fakeSnapshot purging log to 0 for term 1 06:37:01,165 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-09AB5F5F.v1 06:37:01,165 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-09AB5F5F.v1 06:37:01,165 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-09A99424.v1 06:37:01,165 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/TermInfo.properties 06:37:01,165 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-068412B9.v1 06:37:01,165 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-06B67B66.v1 06:37:01,165 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.109318841Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-068412B9.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:01,165 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - follower: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.162226015Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower/snapshot-00000000685C41CD-09AB5F5F.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] ReplicatedLogImpl - follower: persist complete JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:01,166 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-09A99424.v1 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PeerInfos - follower: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=pekko://test/user/leader188, votingState=VOTING], PeerInfo [id=follower2, address=pekko://test/user/follower2187, votingState=NON_VOTING]] 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): Log size is now 2 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): Commit index set to 1 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [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} 06:37:01,166 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/TermInfo.properties 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 1 (of expected -1) 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 1, context.getLastApplied(): 0, lastIndex(): 1 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 1 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractReplicatedLog - follower: Moving last applied index from 0 to 1 06:37:01,166 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - follower: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,166 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: 1, nextIndex: 2 06:37:01,166 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 2, leaderLastIndex: 1, leaderSnapShotIndex: 0 06:37:01,166 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.112622438Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-06B67B66.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:01,166 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.162108452Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4628545031803882645/follower2/snapshot-00000000685C41CD-09A99424.v1, size=96, entryCompress=NONE, stateCompress=NONE} 06:37:01,166 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - follower2: persist complete JournaledLogEntry{index=1, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:01,166 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - follower2: Updated server config: isVoting: false, peers: [PeerInfo [id=leader, address=pekko://test/user/leader188, votingState=VOTING], PeerInfo [id=follower, address=pekko://test/user/follower186, votingState=VOTING]] 06:37:01,166 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): Log size is now 2 06:37:01,166 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): Commit index set to 1 06:37:01,166 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower2, logLastIndex=1, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:37:01,167 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower2 updated: matchIndex: 1, nextIndex: 2 06:37:01,167 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower2: active: true, followerNextIndex: 2, leaderLastIndex: 1, leaderSnapShotIndex: 0 06:37:01,167 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - follower2: Lagging 0 entries behind leader leader and reached 1 (of expected -1) 06:37:01,167 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - follower2 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 1, context.getLastApplied(): 0, lastIndex(): 1 06:37:01,167 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - follower2 (Follower): Setting last applied to 1 06:37:01,167 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - follower2: Moving last applied index from 0 to 1 06:37:01,167 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - follower2: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=follower2, isVoting=false], ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,213 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeServersVotingStatus ending 06:37:01,213 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower185] 06:37:01,224 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader188] 06:37:01,225 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:01,225 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:01,225 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector189] 06:37:01,225 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector190#-223936964] 06:37:01,226 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower186] 06:37:01,226 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:01,226 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:01,226 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector191#2111079000] 06:37:01,226 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower2187] 06:37:01,226 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: stopped executor with 0 remaining tasks 06:37:01,226 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower2: stopped executor with 0 remaining tasks 06:37:01,230 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithExistingFollower starting [WARN] [06/25/2025 18:37:01.231] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server194]: org.opendaylight.controller.cluster.common.actor.Monitor@418875f7 06:37:01,232 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:37:01,232 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: started executor 06:37:01,232 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: started executor 06:37:01,234 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/TermInfo.properties does not exist 06:37:01,234 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: no eligible files found 06:37:01,234 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:01,237 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:37:01,237 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:37:01,237 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@79ea12d9 06:37:01,237 PM [main] [DEBUG] AbstractReplicatedLog - follower: Moving last applied index from -1 to 2 06:37:01,238 PM [test-pekko.actor.default-dispatcher-12] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:37:01.238] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader195]: org.opendaylight.controller.cluster.common.actor.Monitor@6f29a449 06:37:01,239 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor=leader 06:37:01,239 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:37:01,239 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: started executor 06:37:01,239 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: started executor 06:37:01,240 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/TermInfo.properties does not exist 06:37:01,240 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: no eligible files found 06:37:01,240 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:01,242 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor=leader 06:37:01,242 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=leader} 06:37:01,242 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@4289759a 06:37:01,242 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [follower] 06:37:01,242 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: false, followerNextIndex: 2, leaderLastIndex: 2, leaderSnapShotIndex: -1 06:37:01,243 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to -1 06:37:01,243 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: 2, nextIndex: 3 06:37:01,243 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SnapshotManager - leader: fakeSnapshot purging log to 1 for term 1 06:37:01,243 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 3, leaderLastIndex: 2, leaderSnapShotIndex: 1 06:37:01,243 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 2 (of expected -1) 06:37:01,243 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - follower: fakeSnapshot purging log to 1 for term 1 06:37:01,358 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 2 (of expected -1) 06:37:01,403 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server194, votingMember=true], state: Idle 06:37:01,403 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server194, votingMember=true] 06:37:01,403 PM [test-pekko.actor.default-dispatcher-11] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=2, lastAppliedTerm=1, lastIndex=2, lastTerm=1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=false] to install on new-server 06:37:01,403 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SnapshotManager - leader: lastSequenceNumber prior to capture: -1 06:37:01,403 PM [test-pekko.actor.default-dispatcher-11] [INFO] MockRaftActor - leader: support() called 06:37:01,404 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating capture snapshot for new server new-server 06:37:01,404 PM [test-pekko.actor.default-dispatcher-11] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=2, term=1]/EntryInfo[index=2, term=1] 06:37:01,404 PM [test-pekko.actor.default-dispatcher-11] [INFO] MockRaftActor - leader: support() called 06:37:01,405 PM [test-pekko.actor.default-dispatcher-11] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: 1 and term: 1 06:37:01,405 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): sendInstallSnapshot 06:37:01,405 PM [leader-%d28276] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18253DC4.tmp 06:37:01,405 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Snapshot 157 bytes, total chunks to send: 1 06:37:01,405 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] LeaderInstallSnapshotState - leader (Leader): Next chunk: total length=157, offset=0, size=157, hashCode=1546036366 06:37:01,405 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): next snapshot chunk size for follower new-server: 157 06:37:01,405 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): InstallSnapshot sent to follower Vector(user, new-server194), Chunk: 1/1 06:37:01,405 PM [test-pekko.actor.default-dispatcher-12] [INFO] Follower - new-server (Follower): Term 1 in "InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=2, lastIncludedTerm=1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]}" message is greater than follower's term 0 - updating term 06:37:01,408 PM [leader-%d28276] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18253DC4.v1 06:37:01,408 PM [leader-%d28276] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18253DC4.v1 06:37:01,408 PM [leader-%d28276] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/TermInfo.properties 06:37:01,408 PM [leader-%d28276] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.405093828Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18253DC4.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:37:01,409 PM [test-pekko.actor.default-dispatcher-11] [INFO] SnapshotManager - leader: snapshot is durable as of 2025-06-25T18:37:01.405093828Z 06:37:01,409 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SnapshotManager - leader: Snapshot success - sequence number: -1 06:37:01,409 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=1, votedFor=null 06:37:01,409 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot: InstallSnapshot{term=1, leaderId=leader, lastIncludedIndex=2, lastIncludedTerm=1, datasize=157, chunk=1/1, lastChunkHashCode=OptionalInt[-1]} 06:37:01,409 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorSnapshotMessageSupport - leader: SnapshotComplete received 06:37:01,409 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - new-server: Last sync leader does not match current leader leader, need to catch up to 2 06:37:01,409 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotTracker - new-server (Follower): addChunk: chunkIndex=1, lastChunkIndex=0, collectedChunks.size=0, lastChunkHashCode=-1 06:37:01,409 PM [test-pekko.actor.default-dispatcher-12] [INFO] Follower - new-server (Follower): Snapshot received from leader: leader 06:37:01,409 PM [test-pekko.actor.default-dispatcher-12] [INFO] SnapshotManager - new-server: Applying snapshot on follower: PlainSnapshotSource{io=MemoryStreamSource{size=157}} 06:37:01,409 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - new-server: support() called [WARN] [06/25/2025 18:37:01.409] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/new-server194] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=false] 06:37:01,410 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - new-server: Converted InstallSnapshot from leader: leader to state 06:37:01,410 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SnapshotManager - new-server: lastSequenceNumber prior to persisting applied snapshot: -1 06:37:01,410 PM [test-pekko.actor.default-dispatcher-12] [INFO] MockRaftActor - new-server: support() called 06:37:01,411 PM [new-server-%d638460] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-187F47D5.tmp 06:37:01,413 PM [new-server-%d638460] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-187F47D5.v1 06:37:01,413 PM [new-server-%d638460] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-187F47D5.v1 06:37:01,413 PM [new-server-%d638460] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/TermInfo.properties 06:37:01,413 PM [new-server-%d638460] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.410994645Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-187F47D5.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:37:01,413 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - new-server: snapshot is durable as of 2025-06-25T18:37:01.410994645Z 06:37:01,413 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - new-server: Snapshot success - sequence number: -1 06:37:01,413 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - new-server: support() called 06:37:01,414 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - new-server: applySnapshot called 06:37:01,414 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - new-server (Follower): handleInstallSnapshot returning: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:37:01,414 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): handleInstallSnapshotReply: InstallSnapshotReply{term=1, followerId=new-server, chunkIndex=1, success=true} 06:37:01,414 PM [test-pekko.actor.default-dispatcher-12] [INFO] AbstractLeader - leader (Leader): Snapshot successfully installed on follower new-server (last chunk 1) - matchIndex set to 2, nextIndex set to 3 06:37:01,414 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - Sent message UnInitializedFollowerSnapshotReply to self 06:37:01,414 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorSnapshotMessageSupport - new-server: SnapshotComplete received 06:37:01,414 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: onUnInitializedFollowerSnapshotReply: UnInitializedFollowerSnapshotReply [followerId=new-server] 06:37:01,414 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: New server configuration : [ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]] 06:37:01,414 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - leader: Persist data index=3 term=1 command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,414 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - leader: Append log entry and persist JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=da7a4903-5a8e-4fa3-b812-9cb15dd69166}, logIndex: 3, isSendImmediate: true 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:37:01,415 PM [leader-%d28277] [DEBUG] RaftStorage - leader: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18BC5B5A.tmp 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 3, leaderLastIndex: 3, leaderSnapShotIndex: 1 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 3 is present for follower follower 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower follower: AppendEntries{term=1, leaderId=leader, prevLogIndex=2, prevLogTerm=1, leaderCommit=2, replicatedToAllIndex=1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 3, leaderLastIndex: 3, leaderSnapShotIndex: 1 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): sendAppendEntries: 3 is present for follower new-server 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] AbstractLeader - leader (Leader): Sending AppendEntries to follower new-server: AppendEntries{term=1, leaderId=leader, prevLogIndex=2, prevLogTerm=1, leaderCommit=2, replicatedToAllIndex=1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=2, prevLogTerm=1, leaderCommit=2, replicatedToAllIndex=1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Returning OK for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server194, votingMember=true] 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): Number of entries to be appended = 1 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): After cleanup, lastIndex: 2, entries to be added from: 0 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - follower: Append log entry and persist JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): handleAppendEntries: AppendEntries{term=1, leaderId=leader, prevLogIndex=2, prevLogTerm=1, leaderCommit=2, replicatedToAllIndex=1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true}]} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - follower: persist complete JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - follower: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=, votingState=VOTING], PeerInfo [id=new-server, address=null, votingState=VOTING]] 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): Log size is now 2 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - follower (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=follower, logLastIndex=3, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=0, raftVersion=5, recipientRaftVersion=5} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 2 (of expected -1) 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): Number of entries to be appended = 1 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): After cleanup, lastIndex: 2, entries to be added from: 0 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for follower updated: matchIndex: 3, nextIndex: 4 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - new-server: Append log entry and persist JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=true} 06:37:01,415 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: true, followerNextIndex: 4, leaderLastIndex: 3, leaderSnapShotIndex: 1 06:37:01,415 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: starting snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-18CA5C3D.tmp 06:37:01,417 PM [leader-%d28277] [DEBUG] RaftStorage - leader: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18BC5B5A.v1 06:37:01,417 PM [leader-%d28277] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18253DC4.v1 06:37:01,417 PM [leader-%d28277] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18BC5B5A.v1 06:37:01,417 PM [leader-%d28277] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/TermInfo.properties 06:37:01,417 PM [leader-%d28277] [DEBUG] RaftStorage - leader: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.405093828Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18253DC4.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:37:01,417 PM [leader-%d28277] [DEBUG] RaftStorage - leader: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.414997338Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18BC5B5A.v1, size=97, entryCompress=NONE, stateCompress=NONE} 06:37:01,417 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - leader: persist complete JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:01,417 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Applying to log - commitIndex: 3, lastAppliedIndex: 2 06:37:01,417 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - leader (Leader): Setting last applied to 3 06:37:01,417 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: finished snapshot writeout to /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-18CA5C3D.v1 06:37:01,417 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - leader: Moving last applied index from 2 to 3 06:37:01,417 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Applying state for log index 3 data VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,417 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: fakeSnapshot purging log to 2 for term 1 06:37:01,417 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActorVotingConfigSupport - leader: VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} has been successfully replicated to a majority of followers 06:37:01,417 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-18CA5C3D.v1 06:37:01,418 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-187F47D5.v1 06:37:01,418 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/TermInfo.properties 06:37:01,418 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: deleted snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.410994645Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-187F47D5.v1, size=64, entryCompress=NONE, stateCompress=NONE} 06:37:01,418 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: retaining snapshot SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.415915069Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-18CA5C3D.v1, size=97, entryCompress=NONE, stateCompress=NONE} 06:37:01,418 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - new-server: persist complete JournaledLogEntry{index=3, term=1, command=VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]}, pending=false} 06:37:01,418 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PeerInfos - new-server: Updated server config: isVoting: true, peers: [PeerInfo [id=leader, address=null, votingState=VOTING], PeerInfo [id=follower, address=null, votingState=VOTING]] 06:37:01,418 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): Log size is now 1 06:37:01,418 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] Follower - new-server (Follower): handleAppendEntries returning : AppendEntriesReply{term=1, success=true, followerId=new-server, logLastIndex=3, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:37:01,418 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 2 (of expected 2) 06:37:01,418 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: 3, nextIndex: 4 06:37:01,418 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: true, followerNextIndex: 4, leaderLastIndex: 3, leaderSnapShotIndex: 2 [WARN] [06/25/2025 18:37:01.418] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/new-server194] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=true] 06:37:01,418 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - new-server (Follower): Commit index set to 3 06:37:01,418 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 3 (of expected 2) 06:37:01,418 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - new-server (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 3, context.getLastApplied(): 2, lastIndex(): 3 06:37:01,418 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorBehavior - new-server (Follower): Setting last applied to 3 06:37:01,418 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractReplicatedLog - new-server: Moving last applied index from 2 to 3 06:37:01,418 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - new-server: Applying state for log index 3 data VotingConfig{serverInfo=[ServerInfo[peerId=follower, isVoting=true], ServerInfo[peerId=new-server, isVoting=true], ServerInfo[peerId=leader, isVoting=true]]} 06:37:01,598 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): Commit index set to 3 06:37:01,598 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - follower: Lagging 0 entries behind leader leader and reached 3 (of expected -1) 06:37:01,599 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - follower (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 3, context.getLastApplied(): 2, lastIndex(): 3 06:37:01,599 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorBehavior - follower (Follower): Setting last applied to 3 06:37:01,599 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractReplicatedLog - follower: Moving last applied index from 2 to 3 06:37:01,599 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SnapshotManager - follower: fakeSnapshot purging log to 2 for term 1 06:37:01,599 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - new-server: Lagging 0 entries behind leader leader and reached 3 (of expected 2) 06:37:01,604 PM [main] [DEBUG] RaftStorage - leader: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18BC5B5A.v1 06:37:01,605 PM [main] [DEBUG] RaftStorage - leader: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/TermInfo.properties 06:37:01,605 PM [main] [DEBUG] RaftStorage - leader: picked SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.414997338Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/leader/snapshot-00000000685C41CD-18BC5B5A.v1, size=97, entryCompress=NONE, stateCompress=NONE} as the latest file 06:37:01,605 PM [main] [DEBUG] RaftStorage - new-server: selected SNAPSHOT_V1 to handle file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-18CA5C3D.v1 06:37:01,605 PM [main] [DEBUG] RaftStorage - new-server: skipping unrecognized file /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/TermInfo.properties 06:37:01,605 PM [main] [DEBUG] RaftStorage - new-server: picked SnapshotFileV1{lastIncluded=EntryInfo[index=-1, term=-1], timestamp=2025-06-25T18:37:01.415915069Z, file=/tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest10110080030489931933/new-server/snapshot-00000000685C41CD-18CA5C3D.v1, size=97, entryCompress=NONE, stateCompress=NONE} as the latest file 06:37:01,606 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithExistingFollower ending 06:37:01,606 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower192] 06:37:01,617 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector193#507715006] 06:37:01,617 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server194] 06:37:01,617 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:37:01,617 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:37:01,617 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader195] 06:37:01,618 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:01,618 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:01,618 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leaderCollector196] 06:37:01,621 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerForwardedToLeader starting [WARN] [06/25/2025 18:37:01.622] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server199]: org.opendaylight.controller.cluster.common.actor.Monitor@586da475 06:37:01,623 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:37:01,623 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: started executor 06:37:01,624 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: started executor 06:37:01,625 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2644377867941772426/new-server/TermInfo.properties does not exist 06:37:01,625 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - new-server: no eligible files found 06:37:01,625 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:01,628 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:37:01,628 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:37:01,628 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@326645e7 06:37:01,628 PM [test-pekko.actor.default-dispatcher-12] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:37:01.630] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/follower201]: org.opendaylight.controller.cluster.common.actor.Monitor@6ed88042 06:37:01,631 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - follower: Starting recovery with journal batch size 1000 06:37:01,631 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - follower: started executor 06:37:01,631 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - follower: started executor 06:37:01,632 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2644377867941772426/follower/TermInfo.properties does not exist 06:37:01,632 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - follower: no eligible files found 06:37:01,632 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - follower: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:01,634 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=0, votedFor=null 06:37:01,634 PM [test-pekko.actor.default-dispatcher-12] [INFO] PekkoRecovery - follower: Local TermInfo store seeded with TermInfo{term=0} 06:37:01,634 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActor - follower: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@74208090 06:37:01,634 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:37:01,637 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=1, votedFor=null 06:37:01,637 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): The followers log is empty and the senders prevLogIndex is 0 06:37:01,637 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=1, success=false, followerId=follower, logLastIndex=-1, logLastTerm=-1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:37:01,637 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to -1 06:37:01,637 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - follower: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server199, votingMember=true], state: Idle 06:37:01,637 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - follower: getLeaderAddress leaderId = leader peerAddress = pekko://test/user/leader200 06:37:01,637 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - follower: Not leader - forwarding to leader ActorSelection[Anchor(pekko://test/), Path(/user/leader200)] [WARN] [06/25/2025 18:37:01.637] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/follower201] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=false] 06:37:01,686 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerForwardedToLeader ending 06:37:01,686 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower197] 06:37:01,698 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector198#1500358682] 06:37:01,698 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server199] 06:37:01,699 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:37:01,699 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:37:01,699 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/leader200#1066392828] 06:37:01,699 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower201] 06:37:01,699 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:01,699 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:01,703 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerForwardToLeader starting 06:37:01,806 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActor - follower: Starting recovery with journal batch size 1000 06:37:01,807 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: started executor 06:37:01,807 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: started executor [WARN] [06/25/2025 18:37:01.806] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/follower204]: org.opendaylight.controller.cluster.common.actor.Monitor@1d543a66 06:37:01,809 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest12262558014621861490/follower/TermInfo.properties does not exist 06:37:01,809 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - follower: no eligible files found 06:37:01,809 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - follower: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:01,811 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=0, votedFor=null 06:37:01,811 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - follower: Local TermInfo store seeded with TermInfo{term=0} 06:37:01,812 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - follower: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@3cc1c845 06:37:01,812 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=0, prevLogTerm=1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=0, recipientRaftVersion=5, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:37:01,815 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - follower: Set currentTerm=1, votedFor=null 06:37:01,815 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): The followers log is empty and the senders prevLogIndex is 0 06:37:01,815 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - follower (Follower): Follower is out-of-sync so sending negative reply: AppendEntriesReply{term=1, success=false, followerId=follower, logLastIndex=-1, logLastTerm=-1, forceInstallSnapshot=false, needsLeaderAddress=false, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:37:01,815 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - follower: Last sync leader does not match current leader leader, need to catch up to -1 06:37:01,815 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - follower: onRemoveServer: RemoveServer{serverId='follower'}, state: Idle 06:37:01,815 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - follower: getLeaderAddress leaderId = leader peerAddress = pekko://test/user/leader203 06:37:01,815 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - follower: Not leader - forwarding to leader ActorSelection[Anchor(pekko://test/), Path(/user/leader203)] [WARN] [06/25/2025 18:37:01.815] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/follower204] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=follower, initialSyncDone=false] 06:37:01,863 PM [main] [INFO] RaftActorVotingConfigSupportTest - testRemoveServerForwardToLeader ending 06:37:01,863 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower202] 06:37:01,864 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader203] 06:37:01,864 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower204] 06:37:01,865 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:01,865 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - follower: stopped executor with 0 remaining tasks 06:37:01,867 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithExistingServer starting [WARN] [06/25/2025 18:37:01.868] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader206]: org.opendaylight.controller.cluster.common.actor.Monitor@1be6c2ab 06:37:01,869 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:37:01,869 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:37:01,869 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: started executor 06:37:01,869 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: started executor 06:37:01,871 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest2329171500011366041/leader/TermInfo.properties does not exist 06:37:01,871 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - leader: no eligible files found 06:37:01,871 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:01,873 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:37:01,873 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:37:01,874 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@495a86ff 06:37:01,874 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [follower] 06:37:01,874 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower follower: active: false, followerNextIndex: -1, leaderLastIndex: -1, leaderSnapShotIndex: -1 06:37:01,874 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=follower, newServerAddress=pekko://test/user/follower205, votingMember=true], state: Idle 06:37:01,874 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=follower, newServerAddress=pekko://test/user/follower205, votingMember=true] 06:37:01,874 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftActorVotingConfigSupport - leader: Returning ALREADY_EXISTS for operation AddServer [newServerId=follower, newServerAddress=pekko://test/user/follower205, votingMember=true] 06:37:01,874 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithExistingServer ending 06:37:01,874 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower205] 06:37:01,875 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader206] 06:37:01,875 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:01,875 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:01,878 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeToVotingWithNoLeaderAndElectionTimeout starting [WARN] [06/25/2025 18:37:01.880] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/node1]: org.opendaylight.controller.cluster.common.actor.Monitor@6ba6df91 06:37:01,880 PM [test-pekko.actor.default-dispatcher-12] [INFO] RaftActor - node1: Starting recovery with journal batch size 1000 06:37:01,880 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - node1: started executor 06:37:01,881 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] RaftStorage - node1: started executor [WARN] [06/25/2025 18:37:01.882] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/node2]: org.opendaylight.controller.cluster.common.actor.Monitor@7f01e1d2 06:37:01,882 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4548376729715399728/node1/TermInfo.properties does not exist 06:37:01,883 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftStorage - node1: no eligible files found 06:37:01,883 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=1, votedFor=node1 06:37:01,883 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PekkoRecovery - node1: Received ReplicatedLogEntry for recovery: index: 0, size: 133 06:37:01,883 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - node1: Updated server config: isVoting: false, peers: [PeerInfo [id=node2, address=null, votingState=VOTING]] 06:37:01,883 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - node1: Recovery completed - Switching actor to Follower - last log index = 0, last log term = 1, snapshot index = -1, snapshot term = -1, journal size = 1 06:37:01,883 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - node2: Starting recovery with journal batch size 1000 06:37:01,883 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node2: started executor 06:37:01,883 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node2: started executor 06:37:01,885 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest4548376729715399728/node2/TermInfo.properties does not exist 06:37:01,885 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - node2: no eligible files found 06:37:01,885 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=1, votedFor=node1 06:37:01,885 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PekkoRecovery - node2: Received ReplicatedLogEntry for recovery: index: 0, size: 133 06:37:01,885 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PeerInfos - node2: Updated server config: isVoting: true, peers: [PeerInfo [id=node1, address=null, votingState=NON_VOTING]] 06:37:01,886 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - node2: Recovery completed - Switching actor to Follower - last log index = 0, last log term = 1, snapshot index = -1, snapshot term = -1, journal size = 1 06:37:01,896 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=1, votedFor=node1 06:37:01,896 PM [test-pekko.actor.default-dispatcher-11] [INFO] PekkoRecovery - node1: Local TermInfo store seeded with TermInfo{term=1, votedFor=node1} 06:37:01,896 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - node1: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@192b7fc7 06:37:01,897 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - node1: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={node1=true}, serversVisited=[]], state: Idle 06:37:01,897 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:37:01,897 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - node1: Sending local ElectionTimeout to start leader election 06:37:01,897 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=1, votedFor=node1 06:37:01,897 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - node2: Local TermInfo store seeded with TermInfo{term=1, votedFor=node1} 06:37:01,897 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - node2: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@6ea53004 06:37:01,897 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - node1: Updated server config: isVoting: true, peers: [PeerInfo [id=node2, address=null, votingState=VOTING]] 06:37:01,898 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:37:01,898 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Follower - node1 (Follower): Received TimeoutNow - switching to Candidate 06:37:01,898 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Candidate - node1 (Candidate): Election: Candidate has following voting peers: [node2] 06:37:01,901 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=2, votedFor=node1 06:37:01,901 PM [test-pekko.actor.default-dispatcher-15] [INFO] Candidate - node1 (Candidate): Starting new election term 2 06:37:01,903 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Candidate - node1 (Candidate): Sending RequestVote{term=2, candidateId=node1, lastLogIndex=0, lastLogTerm=1} to peer node2 06:37:01,903 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActorBehavior - node1 (Follower) :- Switching from behavior Follower to Candidate, election term: 2 06:37:02,7 PM [test-pekko.actor.default-dispatcher-15] [WARN] RaftActorVotingConfigSupport - node1: Leader election timed out - cannot apply operation ChangeServersVotingStatus [serverVotingStatusMap={node1=true}, serversVisited=[]] 06:37:02,8 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - node1: Updated server config: isVoting: false, peers: [PeerInfo [id=node2, address=pekko://test/user/node2, votingState=VOTING]] 06:37:02,8 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - node1: tryToForwardOperationToAnotherServer - servers already visited [] 06:37:02,8 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - node1: Returning NO_LEADER for operation ChangeServersVotingStatus [serverVotingStatusMap={node1=true}, serversVisited=[]] 06:37:02,8 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeToVotingWithNoLeaderAndElectionTimeout ending 06:37:02,8 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower207] 06:37:02,9 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector208#1024304918] 06:37:02,10 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/node1] 06:37:02,10 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - node1: stopped executor with 0 remaining tasks 06:37:02,10 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - node1: stopped executor with 0 remaining tasks 06:37:02,10 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector209#-604594394] 06:37:02,10 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/node2] 06:37:02,10 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - node2: stopped executor with 0 remaining tasks 06:37:02,10 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - node2: stopped executor with 0 remaining tasks 06:37:02,12 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeToVotingWithNoLeader starting [WARN] [06/25/2025 18:37:02.013] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/node1]: org.opendaylight.controller.cluster.common.actor.Monitor@270534e7 06:37:02,14 PM [test-pekko.actor.default-dispatcher-18] [INFO] RaftActor - node1: Starting recovery with journal batch size 1000 06:37:02,15 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - node1: started executor 06:37:02,15 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - node1: started executor [WARN] [06/25/2025 18:37:02.016] [test-pekko.actor.default-dispatcher-12] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/node2]: org.opendaylight.controller.cluster.common.actor.Monitor@49d523dd 06:37:02,16 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - node2: Starting recovery with journal batch size 1000 06:37:02,16 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest15110023557436365165/node1/TermInfo.properties does not exist 06:37:02,16 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node2: started executor 06:37:02,16 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - node1: no eligible files found 06:37:02,16 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node2: started executor 06:37:02,17 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=1, votedFor=downNode1 06:37:02,17 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PekkoRecovery - node1: Received ReplicatedLogEntry for recovery: index: 0, size: 163 06:37:02,17 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PeerInfos - node1: Updated server config: isVoting: false, peers: [PeerInfo [id=node2, address=null, votingState=NON_VOTING], PeerInfo [id=downNode2, address=null, votingState=VOTING], PeerInfo [id=downNode1, address=null, votingState=VOTING]] 06:37:02,17 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PekkoRecovery - node1: Received apply journal entries for recovery, applying to state: 0 to 0 06:37:02,17 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractReplicatedLog - node1: Moving last applied index from -1 to -1 06:37:02,17 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - node1: Recovery completed - Switching actor to Follower - last log index = 0, last log term = 1, snapshot index = -1, snapshot term = -1, journal size = 1 06:37:02,19 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest15110023557436365165/node2/TermInfo.properties does not exist 06:37:02,19 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node2: no eligible files found 06:37:02,19 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=1, votedFor=downNode2 06:37:02,19 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PekkoRecovery - node2: Received ReplicatedLogEntry for recovery: index: 0, size: 163 06:37:02,19 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PeerInfos - node2: Updated server config: isVoting: false, peers: [PeerInfo [id=downNode2, address=null, votingState=VOTING], PeerInfo [id=downNode1, address=null, votingState=VOTING], PeerInfo [id=node1, address=null, votingState=NON_VOTING]] 06:37:02,19 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PekkoRecovery - node2: Received apply journal entries for recovery, applying to state: 0 to 0 06:37:02,19 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - node2: Moving last applied index from -1 to -1 06:37:02,19 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - node2: Recovery completed - Switching actor to Follower - last log index = 0, last log term = 1, snapshot index = -1, snapshot term = -1, journal size = 1 06:37:02,22 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=1, votedFor=downNode1 06:37:02,22 PM [test-pekko.actor.default-dispatcher-18] [INFO] PekkoRecovery - node1: Local TermInfo store seeded with TermInfo{term=1, votedFor=downNode1} 06:37:02,22 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActor - node1: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@78d3a3e7 06:37:02,23 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=1, votedFor=downNode2 06:37:02,23 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - node2: Local TermInfo store seeded with TermInfo{term=1, votedFor=downNode2} 06:37:02,23 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - node2: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@4f839d59 06:37:02,26 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - node1: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={downNode2=false, node2=true, downNode1=false, node1=true}, serversVisited=[]], state: Idle 06:37:02,26 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:37:02,26 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorVotingConfigSupport - node1: Sending local ElectionTimeout to start leader election 06:37:02,26 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - node1: Updated server config: isVoting: true, peers: [PeerInfo [id=node2, address=null, votingState=VOTING], PeerInfo [id=downNode2, address=null, votingState=NON_VOTING], PeerInfo [id=downNode1, address=null, votingState=NON_VOTING]] 06:37:02,26 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] DefaultConfigParamsImpl - No custom RaftPolicy specified. Using DefaultRaftPolicy 06:37:02,26 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node1 (Follower): Received TimeoutNow - switching to Candidate 06:37:02,26 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Candidate - node1 (Candidate): Election: Candidate has following voting peers: [node2] 06:37:02,34 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=2, votedFor=node1 06:37:02,34 PM [test-pekko.actor.default-dispatcher-11] [INFO] Candidate - node1 (Candidate): Starting new election term 2 06:37:02,34 PM [test-pekko.actor.default-dispatcher-11] [INFO] RaftActorBehavior - node1 (Follower) :- Switching from behavior Follower to Candidate, election term: 2 06:37:02,538 PM [test-pekko.actor.default-dispatcher-18] [WARN] RaftActorVotingConfigSupport - node1: Leader election timed out - cannot apply operation ChangeServersVotingStatus [serverVotingStatusMap={downNode2=false, node2=true, downNode1=false, node1=true}, serversVisited=[]] 06:37:02,538 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PeerInfos - node1: Updated server config: isVoting: false, peers: [PeerInfo [id=node2, address=null, votingState=NON_VOTING], PeerInfo [id=downNode2, address=null, votingState=VOTING], PeerInfo [id=downNode1, address=null, votingState=VOTING]] 06:37:02,539 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorVotingConfigSupport - node1: tryToForwardOperationToAnotherServer - servers already visited [] 06:37:02,539 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorVotingConfigSupport - node1: Returning NO_LEADER for operation ChangeServersVotingStatus [serverVotingStatusMap={downNode2=false, node2=true, downNode1=false, node1=true}, serversVisited=[]] 06:37:02,540 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node1 (Follower): Commit index set to 0 06:37:02,540 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - node1: Last sync leader does not match current leader downNode1, need to catch up to 0 06:37:02,540 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node1 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 0 06:37:02,540 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - node1 (Follower): Setting last applied to 0 06:37:02,540 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - node1: Moving last applied index from -1 to 0 06:37:02,540 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - node1: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=false], ServerInfo[peerId=node2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=true], ServerInfo[peerId=downNode2, isVoting=true]]} 06:37:02,540 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - node1: Persisting ApplyJournalEntries with index=0 [WARN] [06/25/2025 18:37:02.540] [test-pekko.actor.default-dispatcher-18] [pekko://test/deadLetters] received dead letter from TestActor[pekko://test/user/node1]: AppendEntriesReply{term=2, success=true, followerId=node1, logLastIndex=0, logLastTerm=1, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} [WARN] [06/25/2025 18:37:02.541] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/node1] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=node1, initialSyncDone=false] 06:37:03,148 PM [main] [INFO] PeerInfos - node1: Peer address for peer node2 set to pekko://test/user/node2 06:37:03,148 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorVotingConfigSupport - node1: onChangeServersVotingStatus: ChangeServersVotingStatus [serverVotingStatusMap={downNode2=false, node2=true, downNode1=false, node1=true}, serversVisited=[]], state: Idle 06:37:03,149 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorVotingConfigSupport - Initiating ChangeServersVotingStatusState 06:37:03,149 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorVotingConfigSupport - node1: Sending local ElectionTimeout to start leader election 06:37:03,149 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PeerInfos - node1: Updated server config: isVoting: true, peers: [PeerInfo [id=node2, address=pekko://test/user/node2, votingState=VOTING], PeerInfo [id=downNode2, address=null, votingState=NON_VOTING], PeerInfo [id=downNode1, address=null, votingState=NON_VOTING]] 06:37:03,149 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Follower - node1 (Follower): Received TimeoutNow - switching to Candidate 06:37:03,149 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Candidate - node1 (Candidate): Election: Candidate has following voting peers: [node2] 06:37:03,154 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - node1: Set currentTerm=3, votedFor=node1 06:37:03,155 PM [test-pekko.actor.default-dispatcher-18] [INFO] Candidate - node1 (Candidate): Starting new election term 3 06:37:03,155 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] Candidate - node1 (Candidate): Sending RequestVote{term=3, candidateId=node1, lastLogIndex=0, lastLogTerm=1} to peer node2 06:37:03,155 PM [test-pekko.actor.default-dispatcher-18] [INFO] RaftActorBehavior - node1 (Follower) :- Switching from behavior Follower to Candidate, election term: 3 06:37:03,155 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - node2 (Follower): Found higher term in RequestVote rpc, verifying whether it's safe to update term. 06:37:03,155 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - node2 (Follower): Cluster state: [] 06:37:03,155 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - node2 (Follower): Candidate in requestVote:RequestVote{term=3, candidateId=node1, lastLogIndex=0, lastLogTerm=1} with higher term appears reachable, updating term. 06:37:03,155 PM [test-pekko.actor.default-dispatcher-15] [INFO] Follower - node2 (Follower): Term 3 in "RequestVote{term=3, candidateId=node1, lastLogIndex=0, lastLogTerm=1}" message is greater than follower's term 1 - updating term 06:37:03,158 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=3, votedFor=null 06:37:03,158 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - node2 (Follower): In requestVote: RequestVote{term=3, candidateId=node1, lastLogIndex=0, lastLogTerm=1} - currentTerm: 3, votedFor: null, lastIndex: 0, lastTerm: 1 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - node2: Set currentTerm=3, votedFor=node1 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - node2 (Follower): requestVote returning: RequestVoteReply{term=3, voteGranted=true} 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Candidate - node1 (Candidate): RaftRPC message received RequestVoteReply{term=3, voteGranted=true}, my term is 3 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] Candidate - node1 (Candidate): handleRequestVoteReply: RequestVoteReply{term=3, voteGranted=true}, current voteCount: 1 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): Election: Leader has following peers: [node2, downNode2, downNode1] 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): Checking sendAppendEntries for follower node2: active: false, followerNextIndex: 0, leaderLastIndex: 0, leaderSnapShotIndex: -1 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActorBehavior - node1 (Candidate) :- Switching from behavior Candidate to Leader, election term: 3 06:37:03,160 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - node2: Last sync leader does not match current leader node1, need to catch up to -1 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - node1: New leader node1 elected 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - node1: New server configuration : [ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]] 06:37:03,160 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - node1: Persist data index=1 term=3 command=VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]} 06:37:03,161 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - node1: Append log entry and persist JournaledLogEntry{index=1, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]}, pending=true} 06:37:03,161 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): Replicate message: identifier: ServerOperationContextIdentifier{value=ae39c2e6-d2fd-4bf2-9bac-20fed19f20b8}, logIndex: 1, isSendImmediate: true 06:37:03,161 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): Checking sendAppendEntries for follower node2: active: false, followerNextIndex: 0, leaderLastIndex: 1, leaderSnapShotIndex: -1 [WARN] [06/25/2025 18:37:03.161] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/node2] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=node2, initialSyncDone=false] 06:37:03,161 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - node2: Lagging 0 entries behind leader node1 and reached -1 (of expected -1) 06:37:03,161 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - node1: Returning OK for operation ChangeServersVotingStatus [serverVotingStatusMap={downNode2=false, node2=true, downNode1=false, node1=true}, serversVisited=[]] [WARN] [06/25/2025 18:37:03.161] [test-pekko.actor.default-dispatcher-11] [pekko://test/user/node2] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=node2, initialSyncDone=true] 06:37:03,162 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): handleAppendEntriesReply - FollowerLogInformation for node2 updated: matchIndex: 0, nextIndex: 1 06:37:03,162 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): Checking sendAppendEntries for follower node2: active: true, followerNextIndex: 1, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:37:03,162 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): sendAppendEntries: 1 is present for follower node2 06:37:03,162 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): Sending AppendEntries to follower node2: AppendEntries{term=3, leaderId=node1, prevLogIndex=0, prevLogTerm=1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]}, pending=true}]} 06:37:03,163 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): sendAppendEntries: 1 is present for follower node2 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): handleAppendEntries: AppendEntries{term=3, leaderId=node1, prevLogIndex=0, prevLogTerm=1, leaderCommit=0, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=5, leaderRaftVersion=5, entries==[JournaledLogEntry{index=1, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]}, pending=false}]} 06:37:03,163 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] ReplicatedLogImpl - node1: persist complete JournaledLogEntry{index=1, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]}, pending=false} 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): Number of entries to be appended = 1 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): After cleanup, lastIndex: 0, entries to be added from: 0 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): Append entry to log VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]} 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] ReplicatedLogImpl - node2: Append log entry and persist JournaledLogEntry{index=1, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]}, pending=false} 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PeerInfos - node2: Updated server config: isVoting: true, peers: [PeerInfo [id=downNode2, address=null, votingState=NON_VOTING], PeerInfo [id=downNode1, address=null, votingState=NON_VOTING], PeerInfo [id=node1, address=null, votingState=VOTING]] 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): Log size is now 2 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): Commit index set to 0 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): handleAppendEntries returning : AppendEntriesReply{term=3, success=true, followerId=node2, logLastIndex=1, logLastTerm=3, forceInstallSnapshot=false, needsLeaderAddress=true, payloadVersion=5, raftVersion=5, recipientRaftVersion=5} 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - node2: Lagging 0 entries behind leader node1 and reached 0 (of expected -1) 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 0, context.getLastApplied(): -1, lastIndex(): 1 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - node2 (Follower): Setting last applied to 0 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - node2: Moving last applied index from -1 to 0 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - node2: Applying state for log index 0 data VotingConfig{serverInfo=[ServerInfo[peerId=node1, isVoting=false], ServerInfo[peerId=node2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=true], ServerInfo[peerId=downNode2, isVoting=true]]} 06:37:03,163 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - node2: Persisting ApplyJournalEntries with index=0 06:37:03,163 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): handleAppendEntriesReply - FollowerLogInformation for node2 updated: matchIndex: 1, nextIndex: 2 06:37:03,163 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): Applying to log - commitIndex: 1, lastAppliedIndex: 0 06:37:03,163 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorBehavior - node1 (Leader): Setting last applied to 1 06:37:03,163 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - node1: Moving last applied index from 0 to 1 06:37:03,164 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - node1: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]} 06:37:03,164 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - node1: Persisting ApplyJournalEntries with index=1 06:37:03,164 PM [test-pekko.actor.default-dispatcher-12] [DEBUG] ReplicatedLogImpl - node2: persist complete JournaledLogEntry{index=1, term=3, command=VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]}, pending=false} 06:37:03,164 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - node1 (Leader): Checking sendAppendEntries for follower node2: active: true, followerNextIndex: 2, leaderLastIndex: 1, leaderSnapShotIndex: -1 06:37:03,164 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): Commit index set to 1 06:37:03,164 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - node2: Lagging 0 entries behind leader node1 and reached 1 (of expected -1) 06:37:03,164 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] Follower - node2 (Follower): applyLogToStateMachine, appendEntries.getLeaderCommit(): 1, context.getLastApplied(): 0, lastIndex(): 1 06:37:03,164 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActorBehavior - node2 (Follower): Setting last applied to 1 06:37:03,164 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] AbstractReplicatedLog - node2: Moving last applied index from 0 to 1 06:37:03,164 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - node2: Applying state for log index 1 data VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]} 06:37:03,164 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] RaftActor - node2: Persisting ApplyJournalEntries with index=1 06:37:03,165 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActorVotingConfigSupport - node1: VotingConfig{serverInfo=[ServerInfo[peerId=node2, isVoting=true], ServerInfo[peerId=downNode2, isVoting=false], ServerInfo[peerId=downNode1, isVoting=false], ServerInfo[peerId=node1, isVoting=true]]} has been successfully replicated to a majority of followers 06:37:03,278 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SyncStatusTracker - node2: Lagging 0 entries behind leader node1 and reached 1 (of expected -1) 06:37:03,366 PM [main] [INFO] RaftActorVotingConfigSupportTest - testChangeToVotingWithNoLeader ending 06:37:03,366 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower210] 06:37:03,378 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector211#-642847346] 06:37:03,378 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/node1] 06:37:03,379 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node1: stopped executor with 0 remaining tasks 06:37:03,379 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node1: stopped executor with 0 remaining tasks 06:37:03,379 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/collector212#-266919925] 06:37:03,379 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/node2] 06:37:03,380 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node2: stopped executor with 0 remaining tasks 06:37:03,380 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - node2: stopped executor with 0 remaining tasks 06:37:03,383 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithPriorSnapshotCompleteTimeout starting [WARN] [06/25/2025 18:37:03.384] [test-pekko.actor.default-dispatcher-18] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/new-server215]: org.opendaylight.controller.cluster.common.actor.Monitor@5b7ffa69 06:37:03,385 PM [test-pekko.actor.default-dispatcher-15] [INFO] RaftActor - new-server: Starting recovery with journal batch size 1000 06:37:03,386 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: started executor 06:37:03,386 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: started executor 06:37:03,387 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9772481301113180813/new-server/TermInfo.properties does not exist 06:37:03,387 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - new-server: no eligible files found 06:37:03,387 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - new-server: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:03,390 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=0, votedFor=null 06:37:03,390 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - new-server: Local TermInfo store seeded with TermInfo{term=0} 06:37:03,390 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - new-server: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@64bf203a 06:37:03,390 PM [test-pekko.actor.default-dispatcher-15] [INFO] DefaultConfigParamsImpl - Trying to use custom RaftPolicy org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy [WARN] [06/25/2025 18:37:03.391] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/termination-monitor] received dead letter from TestActor[pekko://test/user/leader216]: org.opendaylight.controller.cluster.common.actor.Monitor@2d50707b 06:37:03,392 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:37:03,392 PM [test-pekko.actor.default-dispatcher-18] [INFO] RaftActor - leader: Starting recovery with journal batch size 1000 06:37:03,392 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: started executor 06:37:03,392 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: started executor 06:37:03,393 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - /tmp/org.opendaylight.controller.cluster.raft.RaftActorVotingConfigSupportTest9772481301113180813/leader/TermInfo.properties does not exist 06:37:03,394 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftStorage - leader: no eligible files found 06:37:03,394 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Recovery completed - Switching actor to Follower - last log index = -1, last log term = -1, snapshot index = -1, snapshot term = -1, journal size = 0 06:37:03,397 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] PropertiesTermInfoStore - leader: Set currentTerm=1, votedFor= 06:37:03,397 PM [test-pekko.actor.default-dispatcher-15] [INFO] PekkoRecovery - leader: Local TermInfo store seeded with TermInfo{term=1, votedFor=} 06:37:03,397 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Pekko recovery completed with org.opendaylight.controller.cluster.raft.RecoveryLog@4fc59813 06:37:03,398 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractLeader - leader (Leader): Election: Leader has following peers: [] 06:37:03,398 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActor - leader: Take a snapshot of current state. lastReplicatedLog is null and replicatedToAllIndex is -1 06:37:03,398 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] AbstractReplicatedLog - leader: Capturing Snapshot : lastLogEntry is null. Using snapshot values lastAppliedIndex -1 and lastAppliedTerm -1 instead. 06:37:03,398 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Initiating snapshot capture CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=true] 06:37:03,398 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: captured snapshot at lastSequenceNumber: -1 06:37:03,398 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Persising snapshot at EntryInfo[index=-1, term=-1]/EntryInfo[index=-1, term=-1] 06:37:03,398 PM [test-pekko.actor.default-dispatcher-15] [INFO] MockRaftActor - leader: support() called 06:37:03,398 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] SnapshotManager - leader: user triggered or root overwrite snapshot encountered, trimming log up to last applied index -1 06:37:03,398 PM [test-pekko.actor.default-dispatcher-15] [INFO] SnapshotManager - leader: Removed in-memory snapshotted entries, adjusted snaphsotIndex: -1 and term: -1 06:37:03,404 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorVotingConfigSupport - leader: onAddServer: AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server215, votingMember=true], state: Idle 06:37:03,404 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorVotingConfigSupport - leader: Initiating AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server215, votingMember=true] 06:37:03,405 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] SnapshotManager - leader: captureToInstall should not be called in state PersistCapture[lastSequenceNumber=-1, request=CaptureSnapshot [lastAppliedIndex=-1, lastAppliedTerm=-1, lastIndex=-1, lastTerm=-1, installSnapshotInitiated=, replicatedToAllIndex=-1, replicatedToAllTerm=-1, unAppliedEntries size=0, mandatoryTrim=true]] 06:37:03,405 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftActorVotingConfigSupport - leader: Snapshot already in progress - waiting for completion 06:37:03,518 PM [test-pekko.actor.default-dispatcher-11] [INFO] Follower - new-server (Follower): Term 1 in "AppendEntries{term=1, leaderId=leader, prevLogIndex=-1, prevLogTerm=-1, leaderCommit=-1, replicatedToAllIndex=-1, payloadVersion=5, recipientRaftVersion=4, leaderRaftVersion=5, entries==[]}" message is greater than follower's term 0 - updating term 06:37:03,522 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] PropertiesTermInfoStore - new-server: Set currentTerm=1, votedFor=null 06:37:03,522 PM [test-pekko.actor.default-dispatcher-11] [DEBUG] SyncStatusTracker - new-server: Last sync leader does not match current leader leader, need to catch up to -1 06:37:03,522 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - leader (Leader): handleAppendEntriesReply - FollowerLogInformation for new-server updated: matchIndex: -1, nextIndex: 0 [WARN] [06/25/2025 18:37:03.522] [test-pekko.actor.default-dispatcher-15] [pekko://test/user/new-server215] unhandled message from Actor[pekko://test/deadLetters]: FollowerInitialSyncUpStatus[memberId=new-server, initialSyncDone=false] 06:37:03,522 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] AbstractLeader - leader (Leader): Checking sendAppendEntries for follower new-server: active: false, followerNextIndex: 0, leaderLastIndex: -1, leaderSnapShotIndex: -1 06:37:03,618 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: handleInstallSnapshotTimeout for new server new-server 06:37:03,618 PM [test-pekko.actor.default-dispatcher-15] [DEBUG] RaftActorVotingConfigSupport - leader: Returning TIMEOUT for operation AddServer [newServerId=new-server, newServerAddress=pekko://test/user/new-server215, votingMember=true] 06:37:03,618 PM [test-pekko.actor.default-dispatcher-15] [WARN] RaftActorVotingConfigSupport - leader: Timeout occured for new server new-server while waiting for prior snapshot to complete 06:37:03,618 PM [main] [INFO] RaftActorVotingConfigSupportTest - testAddServerWithPriorSnapshotCompleteTimeout ending 06:37:03,618 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/follower213] 06:37:03,630 PM [main] [INFO] TestActorFactory - Killing actor Actor[pekko://test/user/new-serverCollector214#-1501283796] 06:37:03,631 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/new-server215] 06:37:03,632 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:37:03,632 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - new-server: stopped executor with 0 remaining tasks 06:37:03,632 PM [main] [INFO] TestActorFactory - Killing actor TestActor[pekko://test/user/leader216] 06:37:03,632 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:03,632 PM [test-pekko.actor.default-dispatcher-18] [DEBUG] RaftStorage - leader: stopped executor with 0 remaining tasks 06:37:03,634 PM [test-pekko.actor.default-dispatcher-15] [INFO] CoordinatedShutdown - Running CoordinatedShutdown with reason [ActorSystemTerminateReason] [INFO] [06/25/2025 18:37:03.634] [main] [CoordinatedShutdown(pekko://test)] Running CoordinatedShutdown with reason [ActorSystemTerminateReason] [WARN] [06/25/2025 18:37:03.635] [test-pekko.actor.default-dispatcher-18] [pekko://test/system/cluster/core/daemon] unhandled message from Actor[pekko://test/deadLetters]: Leave(pekko://test@10.30.171.159:17355) 06:37:03,637 PM [test-pekko.actor.default-dispatcher-15] [INFO] Cluster - Cluster Node [pekko://test@10.30.171.159:17355] - Exiting completed 06:37:03,637 PM [test-pekko.actor.default-dispatcher-15] [INFO] Cluster - Cluster Node [pekko://test@10.30.171.159:17355] - Shutting down... 06:37:03,637 PM [test-pekko.actor.default-dispatcher-15] [INFO] Cluster - Cluster Node [pekko://test@10.30.171.159:17355] - Successfully shut down [INFO] [06/25/2025 18:37:03.636] [test-pekko.actor.internal-dispatcher-4] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.171.159:17355] - Exiting completed [INFO] [06/25/2025 18:37:03.636] [test-pekko.actor.internal-dispatcher-4] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.171.159:17355] - Shutting down... [INFO] [06/25/2025 18:37:03.636] [test-pekko.actor.internal-dispatcher-4] [Cluster(pekko://test)] Cluster Node [pekko://test@10.30.171.159:17355] - Successfully shut down 06:37:03,642 PM [test-pekko.actor.default-dispatcher-15] [INFO] RemoteActorRefProvider$RemotingTerminator - Shutting down remote daemon. 06:37:03,642 PM [test-pekko.actor.default-dispatcher-15] [INFO] RemoteActorRefProvider$RemotingTerminator - Remote daemon shut down; proceeding with flushing remote transports. [INFO] [06/25/2025 18:37:03.640] [test-pekko.remote.default-remote-dispatcher-8] [pekko://test@10.30.171.159:17355/system/remoting-terminator] Shutting down remote daemon. [INFO] [06/25/2025 18:37:03.641] [test-pekko.remote.default-remote-dispatcher-8] [pekko://test@10.30.171.159:17355/system/remoting-terminator] Remote daemon shut down; proceeding with flushing remote transports.