Skip to content

Commit

Permalink
fix(gateway client): Fix nil pointer dereference panic when using rul…
Browse files Browse the repository at this point in the history
…er in ring mode (#13436)

Fixes gateway client return with nil pointer panic when using ring mode for ruler service.

`clients.dnsProvider` will only be init when using `simple mode` here: https://github.com/grafana/loki/blob/183406570411a5ad5ceaf32bf07451b8fce608c1/pkg/indexgateway/client.go#L184

Service like `ruler` using `ring mode`  will run into panic `nil pointer reference` during restarting or exiting:
  • Loading branch information
littlepangdi authored Jul 8, 2024
1 parent 5ebd24d commit 304db10
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion pkg/indexgateway/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,9 @@ func (s *GatewayClient) Stop() {
if err != nil {
level.Error(s.logger).Log("msg", "failed to stop index gateway connection pool", "err", err)
}
s.dnsProvider.Stop()
if s.cfg.Mode == SimpleMode {
s.dnsProvider.Stop()
}
}

func (s *GatewayClient) QueryPages(ctx context.Context, queries []index.Query, callback index.QueryPagesCallback) error {
Expand Down

0 comments on commit 304db10

Please sign in to comment.