Re-enabled cluster nodes in docker-compose.yml.

Created flow to forward key deletion command from non-leader node to leader node.
Created flow for propagating key deletion accross the entire cluster to maintain consistency of the deleted keys.
This commit is contained in:
Kelvin Mwinuka
2024-03-11 20:39:57 +08:00
parent c611dd60ee
commit 52b39d5b0f
7 changed files with 294 additions and 225 deletions

View File

@@ -94,14 +94,16 @@ func NewServer(opts Opts) *Server {
Config: opts.Config,
Server: server,
GetCommand: server.getCommand,
DeleteKey: server.DeleteKey,
})
server.memberList = memberlist.NewMemberList(memberlist.MemberlistOpts{
server.memberList = memberlist.NewMemberList(memberlist.Opts{
Config: opts.Config,
HasJoinedCluster: server.raft.HasJoinedCluster,
AddVoter: server.raft.AddVoter,
RemoveRaftServer: server.raft.RemoveServer,
IsRaftLeader: server.raft.IsRaftLeader,
ApplyMutate: server.raftApplyCommand,
ApplyDeleteKey: server.raftApplyDeleteKey,
})
} else {
// Set up standalone snapshot engine