Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
query/endpointset: fix some races (#5972)
Fix races around reading `e.endpoints`. Example race: ``` ================== WARNING: DATA RACE Write at 0x00c00006a668 by main goroutine: github.com/thanos-io/thanos/pkg/query.(*EndpointSet).Close() /home/giedrius/dev/thanos/pkg/query/endpointset.go:582 +0x164 main.runQuery.func3() /home/giedrius/dev/thanos/cmd/thanos/query.go:534 +0x44 github.com/oklog/run.(*Group).Run() /home/giedrius/go/pkg/mod/github.com/oklog/[email protected]/group.go:47 +0x1ce main.main() /home/giedrius/dev/thanos/cmd/thanos/main.go:159 +0x2669 Previous read at 0x00c00006a668 by goroutine 276: github.com/thanos-io/thanos/pkg/query.(*EndpointSet).Update() /home/giedrius/dev/thanos/pkg/query/endpointset.go:396 +0xb9d main.runQuery.func2.1() /home/giedrius/dev/thanos/cmd/thanos/query.go:529 +0x4c github.com/thanos-io/thanos/pkg/runutil.Repeat() /home/giedrius/dev/thanos/pkg/runutil/runutil.go:74 +0xd8 main.runQuery.func2() /home/giedrius/dev/thanos/cmd/thanos/query.go:528 +0x99 github.com/oklog/run.(*Group).Run.func1() /home/giedrius/go/pkg/mod/github.com/oklog/[email protected]/group.go:38 +0x41 github.com/oklog/run.(*Group).Run.func2() /home/giedrius/go/pkg/mod/github.com/oklog/[email protected]/group.go:39 +0x58 Goroutine 276 (running) created at: github.com/oklog/run.(*Group).Run() /home/giedrius/go/pkg/mod/github.com/oklog/[email protected]/group.go:37 +0x349 main.main() /home/giedrius/dev/thanos/cmd/thanos/main.go:159 +0x2669 ================== ``` Signed-off-by: Giedrius Statkevičius <[email protected]> Signed-off-by: Giedrius Statkevičius <[email protected]>
- Loading branch information