Allen George
Allen George
Reported by @ZymoticB and noticed in testing on AWS. Trace from #40 ``` [New I/O worker #4] TRACE io.libraft.algorithm.RaftAlgorithm - agent2: RequestVote from agent1: term:2 lastLogIndex:15 lastLogTerm:1 [New I/O worker...
Right now it's possible for an inactive connection to RaftNetworkClient to persist forever. While this isn't a serious issue, it would be better to have a timeout that closes the...
Currently `OnDiskSnapshotStore` has methods to remove old snapshots and ensure that the snapshot database and the files on the filesystem match. I need to expose these to the user (perhaps...
The libraft log can grow without bound. Log compaction (i.e. snapshots) are necessary to address this. With compaction the current state is dumped to disk and log entries subsumed by...
Currently KayVee testing is manual. I have to spin up a cluster and make HTTP calls to it via curl to ensure that the API and underlying operations have not...
Once in a blue moon it appears that KayVee can hang on shutdown. The problem has been traced down to a failure the underlying Netty NioWorkerPool to shutdown cleanly (it...
Currently both the KayVee and libraft cluster configuration files require that you specify the _names_ of all machines in the cluster. For example: ``` members: - id: SERVER_00 kayVeeUrl: http://localhost:6080...
Right now all KayVee reads are processed only after a `GET` or `ALL` command is issued to the Raft cluster. This provides read-after-write consistency for a client and is equivalent...
Right now, when we receive a negative AppendEntriesReply, we simply modify the server's nextIndex and wait until the heartbeat timeout to send the next AppendEntries message with the updated prefix....
Configuration: 3-machine cluster. Machines 1 and 2 were left to run for a long period of time with NOPCommands being applied every 1 second. Machine 3 was left offline. Eventually...