-
Notifications
You must be signed in to change notification settings - Fork 816
Horizontally Scalable Ruler #1258
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
Horizontally Scalable Ruler #1258
Conversation
Thank you for working on this change! I'll be very happy to test this when it is ready :) @rsteneteg FYI, since we've discussed this as a scaling contention point in the past |
db8fcc0
to
4c54de9
Compare
Does this also fix #310? |
Fixes #1213. |
This looks really good! Lots of small nits and we need to chat about how we handle config on Cortex. When you get this green & all the points address, give me a ping and we can do a final pass. |
c5774e8
to
5a8d444
Compare
@tomwilkie I think this is ready for another look |
94f7902
to
06db06f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I went through the whole thing and found nothing wrong :) But this is also my first pass over this codebase. Given this has been running for us for a few weeks now, I'm giving it an LGTM.
06db06f
to
bdefa7b
Compare
a35a3f4
to
1bbde65
Compare
…valuation of rule groups Signed-off-by: Jacob Lisi <[email protected]>
1bbde65
to
12aec3d
Compare
I rebased this on top of master to work with a single binary. This should be ready for another look @tomwilkie |
LGTM! Thanks for you work on this Jacob. |
I have edited the description to mention some breaking changes to metrics. |
This PR provides a flag that allows the ruler to shard ownership of which rule groups to evaluate by re-using the ring code. When enabled each ruler will act as a Lifecycler and interact with consul to create a ring.
TO DO
BREAKING CHANGES
Metrics deleted:
rules_queue_length
Metrics renamed:
cortex_ingester_consul_heartbeats_total
cortex_member_consul_heartbeats_total
cortex_ingester_ring_tokens_owned
cortex_member_ring_tokens_owned
cortex_ingester_ring_tokens_to_own
cortex_member_ring_tokens_to_own
cortex_ring_ingester_ownership_percent
cortex_ring_member_ownership_percent
cortex_ring_ingesters
cortex_ring_members
The
ingester
label on some metrics is renamedmember
.All of the above and
cortex_shutdown_duration_seconds
add aname
label