Skip to content

Querier crashes for ingester_query_max_attempts > 1 #7364

@alex-berger

Description

@alex-berger

Describe the bug

Cortex querier crashes if ingester_query_max_attempts is set to a value > 1, when set to 1 (the default) it does not crash.

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x26a1984]

goroutine 4573 [running]:
github.com/cortexproject/cortex/pkg/querier.(*distributorQuerier).streamingSelect(0x400120f950, {0x3d088e8?, 0x4000f05440?}, 0x1, 0xe4?, 0x19d054e70c1, 0x19d0554d960, {0x40018fb3c0?, 0x0?, 0x0?})
	/__w/cortex/cortex/pkg/querier/distributor_queryable.go:169 +0xc4
github.com/cortexproject/cortex/pkg/querier.(*distributorQuerier).Select(0x400120f950, {0x3d088e8?, 0x40012bfdd0?}, 0x1, 0x4001720750, {0x40018fb3c0, 0x3, 0x4})
	/__w/cortex/cortex/pkg/querier/distributor_queryable.go:157 +0x5d4
github.com/cortexproject/cortex/pkg/querier.querier.Select.func2({0x3d097e0?, 0x400120f950?})
	/__w/cortex/cortex/pkg/querier/querier.go:445 +0x5c
created by github.com/cortexproject/cortex/pkg/querier.querier.Select in goroutine 4523
	/__w/cortex/cortex/pkg/querier/querier.go:443 +0xba4

To Reproduce
Steps to reproduce the behavior:

  1. set ingester_query_max_attempts: 2

Expected behavior

Setting ingester_query_max_attempts to values greather than 1 should not cause querier to crash if there are errrors connecting an ingester.

Environment:

  • Infrastructure: Kubernetes
  • Deployment tool: Helm (Helm Chart version 3.2.0, Cortex version 1.20.1)

Additional Context

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions