Skip to content

Ingester prevent writes to large traces even after flushing#1199

Merged
mdisibio merged 5 commits intografana:mainfrom
mdisibio:ingester-large-trace-tracking
Jan 5, 2022
Merged

Ingester prevent writes to large traces even after flushing#1199
mdisibio merged 5 commits intografana:mainfrom
mdisibio:ingester-large-trace-tracking

Conversation

@mdisibio
Copy link
Copy Markdown
Contributor

@mdisibio mdisibio commented Jan 4, 2022

What this PR does:
This PR updates the ingester to keep track of traces that exceeded max size and reject further writes to them, even after they are flushed to disk. The list of traces is reset when cutting the head block.

Which issue(s) this PR fixes:
Fixes part of #1133

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

…ing to disk, keep rejecting writes until reset when cutting block
Copy link
Copy Markdown
Collaborator

@joe-elliott joe-elliott left a comment

Choose a reason for hiding this comment

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

minor thoughts. lgtm

Comment thread CHANGELOG.md Outdated
Comment thread modules/ingester/instance.go
Comment thread modules/ingester/trace.go Outdated
Comment thread CHANGELOG.md Outdated
* [BUGFIX] Ensure that the admin client jsonnet has correct S3 bucket property. (@hedss)
* [BUGFIX] Publish tenant index age correctly for tenant index writers. [#1146](https://github.com/grafana/tempo/pull/1146) (@joe-elliott)
* [BUGFIX] Ingester startup panic `slice bounds out of range` [#1195](https://github.com/grafana/tempo/issues/1195) (@mdisibio)
* [BUGFIX] Prevent writes to large traces even after flushing to disk [#1199](https://github.com/grafana/tempo/pull/1199) (@mdisibio)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think another solution that might cover more cases is returning an error from CombineTraces() as soon as the pieces sum up to > maxbytes. That will help fix compaction as well as querying.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Agree, we can explore that in a separate PR. Let's continue collecting thoughts in #1133 and #976.

@mdisibio mdisibio merged commit 02dab0c into grafana:main Jan 5, 2022
@mdisibio mdisibio deleted the ingester-large-trace-tracking branch January 6, 2022 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants