Skip to content

feat: convert WalSegmentWriter to io.ReadSeeker - #13340

Merged
vlad-diachenko merged 3 commits into
mainfrom
vlad.diachenko/convert-wal-segment-writer-to-reader
Jun 27, 2024
Merged

feat: convert WalSegmentWriter to io.ReadSeeker#13340
vlad-diachenko merged 3 commits into
mainfrom
vlad.diachenko/convert-wal-segment-writer-to-reader

Conversation

@vlad-diachenko

@vlad-diachenko vlad-diachenko commented Jun 27, 2024

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:
Implemented logic to convert WalSegmentWriter to a reader that implements io.ReadSeekCloser that satisfies the type required by ObjectClient.PutObject() function.

Special notes for your reviewer:
Benchmark results:

goos: darwin
goarch: arm64
pkg: github.com/grafana/loki/v3/pkg/storage/wal
BenchmarkWrites
BenchmarkWrites/WriteTo
BenchmarkWrites/WriteTo-12         	     330	   3546897 ns/op	   45038 B/op	     229 allocs/op
BenchmarkWrites/Reader
BenchmarkWrites/Reader-12          	     333	   3507544 ns/op	   51875 B/op	     232 allocs/op
PASS

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
…implements io.ReadSeekCloser that satisfies the type required by ObjectClient.PutObject() function.

Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com>
@vlad-diachenko
vlad-diachenko requested a review from a team as a code owner June 27, 2024 09:59
Comment thread pkg/storage/wal/segment.go

@cyriltovena cyriltovena left a comment

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.

LGTM

@benclive benclive left a comment

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.

LGTM!

Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com>
Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com>
@vlad-diachenko
vlad-diachenko merged commit 19c0509 into main Jun 27, 2024
@vlad-diachenko
vlad-diachenko deleted the vlad.diachenko/convert-wal-segment-writer-to-reader branch June 27, 2024 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 participants