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

Support polling specific Vitess cells #124

Merged
merged 11 commits into from
Jul 23, 2020
Merged

Conversation

timvaillancourt
Copy link
Contributor

This PR adds support for polling MySQL replicas from a specific Vitess "cell"

This change is backwards compatible with the current logic that fetches replicas from any Vitess cell. This change resolves duplicated Freno probing when Freno is deployed with a share domain and many Vitess cells

Copy link

@drogart drogart left a comment

Choose a reason for hiding this comment

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

Can't really comment on the go lang, but at a high level this change seems fine. Should bring vitess behavior into parity with non-vitess ways of checking health. Thanks!

Copy link

@shlomi-noach shlomi-noach left a comment

Choose a reason for hiding this comment

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

makes sense on the vitess side of things. Also, hello!

@timvaillancourt
Copy link
Contributor Author

makes sense on the vitess side of things. Also, hello!

Thanks for the review @shlomi-noach 👋

@timvaillancourt timvaillancourt temporarily deployed to production July 20, 2020 15:52 Inactive
@timvaillancourt timvaillancourt temporarily deployed to production July 20, 2020 15:55 Inactive
@timvaillancourt
Copy link
Contributor Author

timvaillancourt commented Jul 20, 2020

@shlomi-noach / @drogart / @tomkrouper: can anyone foresee a need for a single Freno leader to poll more than one Vitess cell?

If so I might make the new config field Cells/VitessCells (an array) vs Cell/VitessCell (a string)

@shlomi-noach
Copy link

@shlomi-noach / @drogart / @tomkrouper: can anyone foresee a need for a single Freno leader to poll more than one Vitess cell?

I think the answer lies within your specific deployment layout. Will you always have a freno representative in every vitess cell (that you care about)? Could there be a situation where one freno needs to "adopt" an experimental new cell (e.g. cloud)?

@timvaillancourt
Copy link
Contributor Author

@shlomi-noach / @drogart / @tomkrouper: can anyone foresee a need for a single Freno leader to poll more than one Vitess cell?

I think the answer lies within your specific deployment layout. Will you always have a freno representative in every vitess cell (that you care about)? Could there be a situation where one freno needs to "adopt" an experimental new cell (e.g. cloud)?

Agreed, thanks @shlomi-noach! For our use case there will probably always be 1 x Freno leader per Vitess cell, but I suppose making the setting more flexible now is better than later

I'll update this PR to accept an array/slice of cells to poll in case this is useful for someone 👍

@timvaillancourt timvaillancourt changed the title Support polling a specific Vitess cell Support polling specific Vitess cells Jul 21, 2020
@timvaillancourt timvaillancourt temporarily deployed to staging July 21, 2020 17:01 Inactive
@timvaillancourt timvaillancourt temporarily deployed to staging July 22, 2020 15:39 Inactive
@timvaillancourt timvaillancourt temporarily deployed to staging July 22, 2020 18:33 Inactive
@timvaillancourt timvaillancourt temporarily deployed to staging July 23, 2020 09:02 Inactive
@timvaillancourt timvaillancourt deployed to production/role=mysqlutil&site=ac4-iad&environment=production July 23, 2020 10:15 Active
@timvaillancourt timvaillancourt temporarily deployed to production/role=mysqlutil&site=cp1-iad&environment=production July 23, 2020 10:18 Inactive
@timvaillancourt timvaillancourt temporarily deployed to production/role=mysqlutil&site=va3-iad&environment=production July 23, 2020 10:19 Inactive
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.

None yet

3 participants