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.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
alerting_test.go Rules: Store dependencies instead of boolean (#15689) 2025-01-06 20:48:38 +00:00
group.go ruler: stop all rule groups asynchronously on shutdown (#15804) 2025-01-20 21:26:58 +01:00
group_test.go rules.NewGroup: Fix when no logger is passed (#15356) 2024-11-21 16:53:06 +01:00
manager.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
origin.go Decouple ruler dependency controller from concurrency controller 2024-02-02 10:06:37 +01:00
origin_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
recording_test.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