Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(indexstats): do not collect stats from "IndexStats" lookups for other query types #12978

Merged
merged 2 commits into from
May 21, 2024

Conversation

ashwanthgoli
Copy link
Contributor

@ashwanthgoli ashwanthgoli commented May 16, 2024

What this PR does / why we need it:
indexStatsTripperware is used for resolving shards for most query types, but it also includes StatsCollectorMiddleware middleware in the chain which is not thread safe. This could result in data corruption of the collected stats since the subqueries split by time could resolve shards concurrently.

This pr makes changes to only include the stats collection middleware for actual index stats queries, other queries types will not need this.

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

Checklist

  • Reviewed the CONTRIBUTING.md guide (required)
  • Documentation added
  • Tests updated
  • Title matches the required conventional commits format, see here
    • Note that Promtail is considered to be feature complete, and future development for logs collection will be in Grafana Alloy. As such, feat PRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.
  • Changes that require user attention or interaction to upgrade are documented in docs/sources/setup/upgrade/_index.md
  • For Helm chart changes bump the Helm chart version in production/helm/loki/Chart.yaml and update production/helm/loki/CHANGELOG.md and production/helm/loki/README.md. Example PR
  • If the change is deprecating or removing a configuration option, update the deprecated-config.yaml and deleted-config.yaml files respectively in the tools/deprecated-config-checker directory. Example PR

@ashwanthgoli ashwanthgoli changed the title fix(indexstats): do not collect stats for idxstats queries while exec… fix(indexstats): do not collect "IndexStats" stats for other query types May 16, 2024
@ashwanthgoli ashwanthgoli changed the title fix(indexstats): do not collect "IndexStats" stats for other query types fix(indexstats): do not collect stats from "IndexStats" lookups for other query types May 16, 2024
@ashwanthgoli ashwanthgoli force-pushed the indexstats/remove-stats-mw branch from 5f0a173 to 38d35c4 Compare May 16, 2024 05:58
@ashwanthgoli ashwanthgoli marked this pull request as ready for review May 16, 2024 06:00
@ashwanthgoli ashwanthgoli requested a review from a team as a code owner May 16, 2024 06:00
@ashwanthgoli ashwanthgoli added backport k203 type/bug Somehing is not working as expected labels May 21, 2024
@grafanabot
Copy link
Collaborator

Hello @ashwanthgoli!
Backport pull requests need to be either:

  • Pull requests which address bugs,
  • Urgent fixes which need product approval, in order to get merged,
  • Docs changes.

Please, if the current pull request addresses a bug fix, label it with the type/bug label.
If it already has the product approval, please add the product-approved label. For docs changes, please add the type/docs label.
If the pull request modifies CI behaviour, please add the type/ci label.
If none of the above applies, please consider removing the backport label and target the next major/minor release.
Thanks!

@grafanabot
Copy link
Collaborator

This PR must be merged before a backport PR will be created.

@ashwanthgoli ashwanthgoli merged commit 1f5291a into main May 21, 2024
61 checks passed
@ashwanthgoli ashwanthgoli deleted the indexstats/remove-stats-mw branch May 21, 2024 07:08
grafanabot pushed a commit that referenced this pull request May 21, 2024
"time"

"go.uber.org/atomic"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was this relevant to fixing the panic?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trevorwhitney added a commit that referenced this pull request May 24, 2024
commit 0bfd0ad
Merge: 68aa188 efdae3d
Author: Trevor Whitney <trevorjwhitney@gmail.com>
Date:   Thu May 23 17:04:32 2024 -0600

    Merge branch 'main' into sample-count-and-bytes

commit 68aa188
Author: Trevor Whitney <trevorjwhitney@gmail.com>
Date:   Thu May 23 17:03:32 2024 -0600

    feat: guard aggregation behavior behind a feature flag

commit efdae3d
Author: hayden <haydenfuss@gmail.com>
Date:   Thu May 23 16:25:50 2024 -0400

    feat(helm): Support for PVC Annotations for Non-Distributed Modes (#12023)

    Signed-off-by: hfuss <hayden.fuss@kaleido.io>
    Co-authored-by: J Stickler <julie.stickler@grafana.com>
    Co-authored-by: Trevor Whitney <trevorjwhitney@gmail.com>

commit f0d6a92
Author: Trevor Whitney <trevorjwhitney@gmail.com>
Date:   Thu May 23 14:03:32 2024 -0600

    feat: reject filter queries to /patterns endpoint

commit dc620e7
Author: Trevor Whitney <trevorjwhitney@gmail.com>
Date:   Wed May 8 14:08:44 2024 -0600

    feat: collect and serve pre-agg bytes and count

    * pre-aggregate bytes and count per stream in the pattern ingester
    * serve bytes_over_time and count_over_time queries from the patterns
      endpoint

commit 97212ea
Author: Jay Clifford <45856600+Jayclifford345@users.noreply.github.com>
Date:   Thu May 23 12:10:48 2024 -0400

    feat: Added Interactive Sandbox to Quickstart tutorial (#12701)

commit 1111595
Author: Vladyslav Diachenko <82767850+vlad-diachenko@users.noreply.github.com>
Date:   Thu May 23 13:18:16 2024 +0300

    feat: new stream count limiter (#13006)

    Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com>
    Co-authored-by: JordanRushing <rushing.jordan@gmail.com>

commit 987e551
Author: Quentin Bisson <quentin@giantswarm.io>
Date:   Thu May 23 02:15:52 2024 +0200

    fix: allow cluster label override in bloom dashboards (#13012)

    Signed-off-by: QuentinBisson <quentin@giantswarm.io>

commit d3c9cec
Author: Quentin Bisson <quentin@giantswarm.io>
Date:   Thu May 23 01:59:28 2024 +0200

    fix: upgrade old plugin for the loki-operational dashboard. (#13016)

    Signed-off-by: QuentinBisson <quentin@giantswarm.io>

commit 8d9fb68
Author: Quentin Bisson <quentin@giantswarm.io>
Date:   Wed May 22 22:00:08 2024 +0200

    fix: remove unneccessary disk panels for ssd read path (#13014)

    Signed-off-by: QuentinBisson <quentin@giantswarm.io>

commit 1948899
Author: Quentin Bisson <quentin@giantswarm.io>
Date:   Wed May 22 15:16:29 2024 +0200

    fix: Mixins - Add missing log datasource on loki-deletion (#13011)

commit efd8f5d
Author: Salva Corts <salva.corts@grafana.com>
Date:   Wed May 22 10:43:32 2024 +0200

    refactor(blooms): Add queue to bloom planner and enqueue tasks (#13005)

commit d6f29fc
Author: Vitor Gomes <41302394+vitoorgomes@users.noreply.github.com>
Date:   Wed May 22 04:34:42 2024 +1200

    docs: update otlp ingestion with correct endpoint and add endpoint to reference api docs (#12996)

commit 3195036
Author: Salva Corts <salva.corts@grafana.com>
Date:   Tue May 21 13:12:24 2024 +0200

    refactor(bloom planner): Compute gaps and build tasks from metas and TSDBs  (#12994)

commit 7a3338e
Author: Jonathan Davies <jpds@protonmail.com>
Date:   Tue May 21 10:41:42 2024 +0100

    feat: loki/main.go: Log which config file path is used on startup (#12985)

    Co-authored-by: Michel Hollands <42814411+MichelHollands@users.noreply.github.com>

commit bf8a278
Author: Ashwanth <iamashwanth@gmail.com>
Date:   Tue May 21 12:56:07 2024 +0530

    chore: remove duplicate imports (#13001)

commit 1f5291a
Author: Ashwanth <iamashwanth@gmail.com>
Date:   Tue May 21 12:38:02 2024 +0530

    fix(indexstats): do not collect stats from "IndexStats" lookups for other query types (#12978)

commit 8442dca
Author: Jay Clifford <45856600+Jayclifford345@users.noreply.github.com>
Date:   Mon May 20 17:52:17 2024 -0400

    feat: Added getting started video (#12975)

commit 75ccf21
Author: Christian Haudum <christian.haudum@gmail.com>
Date:   Mon May 20 17:14:40 2024 +0200

    feat(blooms): Separate page buffer pools for series pages and bloom pages (#12992)

    Series pages are much smaller than bloom pages and therefore can make use of a separate buffer pool with different buckets.

    The second commit fixes a possible panic.

    Signed-off-by: Christian Haudum <christian.haudum@gmail.com>

commit 94d610e
Author: Yarden Shoham <git@yardenshoham.com>
Date:   Mon May 20 18:05:50 2024 +0300

    docs: Fix broken link in the release notes (#12990)

    Co-authored-by: J Stickler <julie.stickler@grafana.com>

commit 31a1314
Author: choeffer <christian.hoeffer@maibornwolff.de>
Date:   Mon May 20 16:39:25 2024 +0200

    docs(install-monolithic): add quotation marks (#12982)

    Co-authored-by: Michel Hollands <42814411+MichelHollands@users.noreply.github.com>

commit 8978ecf
Author: Salva Corts <salva.corts@grafana.com>
Date:   Mon May 20 12:36:22 2024 +0200

    feat: Boilerplate for new bloom build planner and worker components. (#12989)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport k203 size/S type/bug Somehing is not working as expected
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants