-
Notifications
You must be signed in to change notification settings - Fork 366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Insufficient readiness probe leads to data loss in some particular cases #205
Comments
Thanks, @lazovskiy for the detailed report. We have merged recently two PRs to tackle this issue.
We are going to do a release in the next days with these changes. |
We just released https://github.com/spotahome/redis-operator/releases/tag/v1.0.0-rc.3 If you can test the issue and confirm is fixed it would be great @lazovskiy Thanks |
We've just tested it with v1.0.0-rc.4 - everything works now good @ese |
I've encountered the severe issue that led to data loss while performing some maintenance tasks using Redis operator.
Initial state
Desired state
Expected behaviour
Actual behaviour
After I edited both redis resources section and replicas count following happened:
So I ended up with an empty master-slave replicated Redis and had to restore my data from backup.
Steps to reproduce the behaviour
Expand single-replica Redis to two or more and change something else to induce StatefulSet rolling update process.
Environment
More details
As far as I can see, current readiness probe just ensures that Redis can accept connections and reply to commands. It does not check replication status and initialDelaySeconds is too small to be sure that replication of large instances is completed.
Also another problem may arise for the same reason: some client libraries (ex. predis) may distribute read-only request among the replicas. In the case of ready-but-not-replicated some other issues may emerge.
The text was updated successfully, but these errors were encountered: