-
Notifications
You must be signed in to change notification settings - Fork 544
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
Add conditional read-after–write support to rules evaluation #7142
Conversation
6d89d88
to
af18dbb
Compare
3601fe3
to
201703e
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.
nicely done, i really don't have any comments.
Would be nice if we can eventually improve rule.Independant
to only apply where we need it (today it might significantly increase the number of read-after-write queries without needing that), but i suppose that's future work?
Yes, it's on my plate but I wanted to keep the scope of |
e7fae40
to
6e5bae8
Compare
@dimitarvdimitrov I've swapped the mimir-prometheus implementation with a simpler one (here) which doesn't include the concurrent rules evaluation support (given we don't need it in this PR). In the new mimir-prometheus implementation I've also exposed both "dependent rules" and "dependency rules" info, so in Mimir we can only enforce strong consistency on rules with dependencies. I haven't update this PR description yet. Can you review the changes (this commit) first, please? |
6e5bae8
to
a9afbe3
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 had a closer look at the second revision and still LGTM
Signed-off-by: Marco Pracucci <[email protected]>
Signed-off-by: Marco Pracucci <[email protected]>
Signed-off-by: Marco Pracucci <[email protected]>
Signed-off-by: Marco Pracucci <[email protected]>
Signed-off-by: Marco Pracucci <[email protected]>
Signed-off-by: Marco Pracucci <[email protected]>
…ntextWhenQueryingAlertsForStateMetric Signed-off-by: Marco Pracucci <[email protected]>
…lerAndQueryStatsEnabled Signed-off-by: Marco Pracucci <[email protected]>
…DependentRulesWhenUsingTheIngestStorage Signed-off-by: Marco Pracucci <[email protected]>
Signed-off-by: Marco Pracucci <[email protected]>
Signed-off-by: Marco Pracucci <[email protected]>
a9afbe3
to
8edf3c8
Compare
…asedOnRuleDetail Signed-off-by: Marco Pracucci <[email protected]>
What this PR does
This PR introduces conditional read-after-write (or strong read consistency) support for rule evaluations. This PR is based on grafana/mimir-prometheus#587.
How it works:
RuleDetail
inside the context passed down to the ruler's query function.RuleDetail
from the context and inject Mimir-specific read consistency requirement in the context.I will try to upstream the
mimir-prometheus
changes to Prometheus, in coordination with Danny's PR from which I've tool the dependency analysis code. However, I will not block on it.Which issue(s) this PR fixes or relates to
N/A
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]
.about-versioning.md
updated with experimental features.