Skip to content

Use ring client pool in ruler to reduce number of gRPC connections created #3315

Closed
@pracucci

Description

@pracucci

Is your feature request related to a problem? Please describe.
When sharding is enabled, the ruler connects to all other rulers to retrieve all rules (see Ruler.getShardedRules()). To do it, we open a gRPC connection towards each ruler, each time the getShardedRules() is called. This leads to a bunch of new TCP connections created on a high traffic cluster.

Describe the solution you'd like
Instead of opening a gRPC connection each time, we should use the ring's client.NewPool() to keep connections open and reuse clients.

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/rulesBits & bobs todo with rules and alerts: the ruler, config service etc.stale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions