issues
search
microsoft
/
garnet
Garnet is a remote cache-store from Microsoft Research that offers strong performance (throughput and latency), scalability, storage, recovery, cluster sharding, key migration, and replication features. Garnet can work with existing Redis clients.
https://microsoft.github.io/garnet/
MIT License
9.71k
stars
459
forks
source link
Ensure Read/Write Safety During Recovery
#455
Closed
vazois
closed
1 week ago
vazois
commented
2 weeks ago
This PR contains the following enchantments:
[x] Added validity checks on nodeId and workerId at IsLocalExpensive.
[x] Add nullptr check to prevent object nullptr ref for concurrent failover and recovery operations.
[x] Propagate RESP errors back to the client at CLUSTER REPLICATE.
[x] Ensure SuspendRecovery happens at the end of BeginRecover.
[x] Prevent start of recovery if there is an ongoing failover.
[x] Refactor and simplify SingleKeyVerify validation.
[x] Add recovery check at SingleKeyReadWriteVerify to prevent writes while replica is taking over.
This PR contains the following enchantments: