You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Not really.
Describe the solution you'd like SyncRules in Rulers is the process of configuring Rulers with the rules that are configured per tenant in cortex so that each Ruler loads the rule groups that they are responsible for. This process can happen periodically (with a configurable interval) or due to ring change events (when Rulers leave or join the ring). During a deployment, several ring change events are expected. We can consider to be a waste of resources to perform a periodic SyncRules right after a ring change has happened.
Therefore this issue proposes that ring change events restart the timer used for periodic SyncRules so that we reduce the number of SyncRules.
Describe alternatives you've considered
Can we aggregate the ring change events in buckets so that we minimize the number of SyncRules that are performed, in case we have a deployment with several instances restarting at the same time? I.e.: we set a upper bound to the number of SyncRules that can happen per period of time.
Additional context
Here is the for loop that we want to optimize:
Is your feature request related to a problem? Please describe.
Not really.
Describe the solution you'd like
SyncRules
in Rulers is the process of configuring Rulers with the rules that are configured per tenant in cortex so that each Ruler loads the rule groups that they are responsible for. This process can happen periodically (with a configurable interval) or due to ring change events (when Rulers leave or join the ring). During a deployment, several ring change events are expected. We can consider to be a waste of resources to perform a periodicSyncRules
right after a ring change has happened.Therefore this issue proposes that ring change events restart the timer used for periodic
SyncRules
so that we reduce the number ofSyncRules
.Describe alternatives you've considered
Can we aggregate the ring change events in buckets so that we minimize the number of
SyncRules
that are performed, in case we have a deployment with several instances restarting at the same time? I.e.: we set a upper bound to the number ofSyncRules
that can happen per period of time.Additional context
Here is the for loop that we want to optimize:
cortex/pkg/ruler/ruler.go
Lines 670 to 687 in 8a46d20
The text was updated successfully, but these errors were encountered: