What version of Go are you using (go version
)?
$ go version go version go1.15 linux/amd64
What operating system are you using?
Ubuntu 18 GNU/Linux
What version of Badger are you using?
github.com/dgraph-io/badger/v2
What Badger options were set?
NumVersionsToKeep = math.MaxInt32
I have a simple question but could not find my solution in the source code, so I need your expertise to address a future problem, I will be glad if you help me. I have been building a basic distributed key value store, which is write intensive, on top of badger and hashicorp’s raft packages. I will allow multi version keys for keys in badger. Follower nodes will issue RPC commands to leader for database update operations. Some operations at follower nodes will require badger’s key version to issue the command to check the stale reads at leader node. Follower reads the key from replica database not from leader, only updates go to leader. So, leader checks the key and key version (if provided) to determine if request comes from stale read (which can happen normally). In short; I want replicas have consistent key versions with leader. If we execute same set of operations with a latency on two different badger databases (what raft FSM does) , that are distributed, can I get the exactly the same item from replica badgers with both given key and version in any time (ignore log replication latency)? Thank you.