Skip to content
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

Remove "slave" haproxy resources #50

Merged
merged 10 commits into from
Feb 27, 2024
Merged

Remove "slave" haproxy resources #50

merged 10 commits into from
Feb 27, 2024

Conversation

rurkss
Copy link

@rurkss rurkss commented Feb 23, 2024

This PR removes the redis-slave-HAProxy, deeming it unnecessary and potentially dangerous .
Originally, this resource was designed as an endpoint for Redis replication nodes to connect to slave nodes of source cluster.
However, when replicated redis uses this resource, the sentinels on source side detect it as a potential slave for failover scenario. In failover, sentinels mistakenly treat the HAProxy pods as legitimate redis slaves and attempt to promote the HAProxy pod as the next master, as it is impossible to do, sentinels get stuck in a promotion loop.
Workaround is to use redis-slave-service as endpoint on source cluster. This way, when sentinels detect replicated redis as potential master in failover scenario, they will not be able to promote it, because replicated redis node is unreachable for connection and sentinels will forget this node.

@rurkss rurkss self-assigned this Feb 23, 2024
@rurkss rurkss requested a review from a team as a code owner February 23, 2024 21:44
Copy link

@indiebrain indiebrain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also want to capture some notes in the CHANGELOG informing consumers how upgrading to a version of the operator containing this change could affect their applications.

operator/redisfailover/service/client.go Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
rurkss and others added 3 commits February 26, 2024 15:22
Co-authored-by: Aaron Kuehler <aaron.kuehler@powerhrg.com>
Co-authored-by: Aaron Kuehler <aaron.kuehler@powerhrg.com>
Co-authored-by: Aaron Kuehler <aaron.kuehler@powerhrg.com>
Copy link

@indiebrain indiebrain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📦 🚀 🤖

@rurkss rurkss merged commit 56bc6a6 into master Feb 27, 2024
12 checks passed
@rurkss rurkss deleted the remove_slave_haproxy branch February 27, 2024 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants