dragonflydb / dragonflydb/dragonfly-operator
Better handling of master failover
- Dominant language
- Go
- Stars
- 357
- Forks
- 111
- PR merge metrics
- No merged PRs in 30d
Description
It looks like most applications do have Redis reconnect support if Redis operation results in error such as `ReplyError: READONLY You can't write against a read only replica`. In fact the [ioredis docs specifically mention this usecase](https://redis.github.io/ioredis/interfaces/CommonRedisOptions.html#reconnectOnError).
This is related to https://github.com/dragonflydb/dragonfly-operator/issues/149#issuecomment-1921063199
To better support dumb clients I would advise implementing TCP disconnect when Dragonfly pod loses master role to ensure clients reconnect to the new Dragonfly master pod
Contributor guide
Research direction
Start by tracing how the operator handles a Dragonfly pod losing its master role and review the related issue comment linked in the report. The intended result is a TCP disconnect when failover occurs, allowing clients without Redis reconnect support to reconnect to the new master pod.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes, redis
- Domain
- distributed-systems, infrastructure, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100