Closed
Description
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.