prometheus/rules
Dimitar Dimitrov 2a8ae586f4
ruler: stop all rule groups asynchronously on shutdown (#15804)
* ruler: stop all rule groups asynchronously on shutdown

During shutdown of the rules manager some rule groups have already stopped and are missing evaluations while we're waiting for other groups to finish their evaluation.

When there are many groups (in the thousands), the whole shutdown process can take up to 10 minutes, during which we get miss evaluations.

Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com>

* Use wrappers in stop(); rename awaitStopped()

Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com>

* Add comment

Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com>

---------

Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com>
2025-01-20 21:26:58 +01:00
..
fixtures Merge pull request #15669 from rajagopalanand/restore-for-state 2025-01-17 15:37:07 +01:00
alerting_test.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
alerting.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
group_test.go rules.NewGroup: Fix when no logger is passed (#15356) 2024-11-21 16:53:06 +01:00
group.go ruler: stop all rule groups asynchronously on shutdown (#15804) 2025-01-20 21:26:58 +01:00
manager_test.go Merge pull request #15669 from rajagopalanand/restore-for-state 2025-01-17 15:37:07 +01:00
manager.go ruler: stop all rule groups asynchronously on shutdown (#15804) 2025-01-20 21:26:58 +01:00
origin_test.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
origin.go Decouple ruler dependency controller from concurrency controller 2024-02-02 10:06:37 +01:00
recording_test.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
recording.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
rule.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00