RedisLabs / redis-cluster-proxy

A proxy for Redis clusters.
GNU Affero General Public License v3.0
990 stars 129 forks source link

Validate slot migrations #29

Open JanBerktold opened 4 years ago

JanBerktold commented 4 years ago

Still very much a work in progress. Opening a draft PR to prevent duplicate work.

Background: I've noticed that the behavior during slot migrations (MOVED/ASK responses) is not fully up to spec, starting out by validating that with more tests and hoping to bring it closer to the Redis spec :)

JanBerktold commented 4 years ago

Hi there @artix75. I've implemented the "follow redirect but do not rewrite slot table" behavior as described here. https://redis.io/topics/cluster-spec#cluster-live-reconfiguration

The tests went from timing out as the proxy was stuck in an endless try request -> configure cluster loop to passing. That being said, I am not very satisfied with my solution, particularly with the NULL hack to sneak in the ASKING command. Would you mind giving it a look?

artix75 commented 4 years ago

@JanBerktold Thanks I'll take a look at it.

JanBerktold commented 4 years ago

@artix75 Heyo there, my apologies for the ping but do you have an update here?