8000 bring in prometheus/parquet-common code to new package by francoposa · Pull Request #11490 · grafana/mimir · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

bring in prometheus/parquet-common code to new package #11490

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

Merged
merged 14 commits into from
May 23, 2025

Conversation

francoposa
Copy link
Contributor
@francoposa francoposa commented May 19, 2025

This approach is being taken so as we iterate in dev we do not have to maintain an enormous branch and constantly rebase.

I believe this structure for the dependency code is least likely to cause us import cycles, whether we put the converter as a subpackage of pkg/parquet or standing completely on its own.

In any case, we can always adjust.

patches w.r.t upstream:

  • replace efficient-go errors with pkg/errors
  • satisfy mimir-prometheus' extended ChunkSeries interface with ChunkCount method
  • fix a bad use of require.Len for a labels.Labels not satisfying len() builtin - I believe this is a stringlabels/slicelabels issue
  • further small stringlabels/slicelabels fixes
  • lint: replace == error comparisons with errors.Is
  • lint: replace sort.Strings usages with slices.Sort
  • lint: use context.WithCancelCause
  • apply all correct license headers with upstream attribution

What this PR does

Brings in code from https://github.com/prometheus-community/parquet-common @ commit 382b6ec8 into a new package.

No new components or services utilized yet - nothing new deployed.

Which issue(s) this PR fixes or relates to

Fixes #

Checklist

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

@francoposa francoposa changed the title [WIP] bring in prometheus/parquet-common code to new package bring in prometheus/parquet-common code to new package May 19, 2025
@francoposa francoposa marked this pull request as ready for review May 19, 2025 22:14
@francoposa francoposa requested review from stevesg and a team as code owners May 19, 2025 22:14
Copy link
Contributor
@aknuds1 aknuds1 left a comment

Choose a reason for hiding this comment

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

I think it would be preferable to use Renovate's PRs for updating objstore (you can patch this PR with your fixes) and cloud.google.com/go/storage. Plus, I don't think this PR should be removing the toolchain directive and its explanatory comment.

Comment on lines 30 to 34
func TestPromQLAcceptance(t *testing.T) {
if testing.Short() {
t.Skip("Skipping, because 'short' flag was set")
}
Copy link
Contributor

Choose a reason for hiding this comment

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

This test took ~15min in the CI. Is that a concern? Do we want to make it opt-in rather than opt-out? I'm mostly thinking about the impact on other mimir devs, not us

Copy link
Contributor

Choose a reason for hiding this comment

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

Our CI health is already pretty terrible. This should be opt-in, 15m is a non-starter.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's fixed already to be opt-in with env var

@francoposa francoposa force-pushed the francoposa/initial-parquet-package-to-main branch from 276779b to 56fa1e6 Compare May 20, 2025 16:58
@francoposa
Copy link
Contributor Author

@aknuds1 The toolchain directive came back anyway when I copied over the go.mod from main to fix conflicts, so we should be good to go

I also used the env var approach to prevent the super long PromQL acceptance tests from running in CI

@francoposa francoposa requested review from aknuds1 and 56quarters May 20, 2025 17:39
@francoposa francoposa changed the base branch from main to parquet-main May 23, 2025 16:35
@francoposa francoposa merged commit d2f8e2e into parquet-main May 23, 2025
30 checks passed
@francoposa francoposa deleted the francoposa/initial-parquet-package-to-main branch May 23, 2025 16:41
npazosmendez pushed a commit that referenced this pull request May 27, 2025
* bring in prometheus/parquet-common code to new package; replace efficient-go errors with pkg/errors; satisfy mimir-prometheus ChunkSeries interface

* revert breaking upgrade to thanos/objstore

* fix test require

* attempt to update go version for strange errors

* fix stringlabels issues

* update license headers with AGPL and upstream attribution

* fix errors.Is lints

fix errors.Is lints

* fix sort and cancel cause lints

* correct go.mod & vendor in from main to solve conflicts

* use env var to flag parquet promql acceptance

* fix deps from main again

* fix deps from main again

* fix deps from main again

* fix deps from main again
jesusvazquez pushed a commit that referenced this pull request May 28, 2025
* bring in prometheus/parquet-common code to new package; replace efficient-go errors with pkg/errors; satisfy mimir-prometheus ChunkSeries interface

* revert breaking upgrade to thanos/objstore

* fix test require

* attempt to update go version for strange errors

* fix stringlabels issues

* update license headers with AGPL and upstream attribution

* fix errors.Is lints

fix errors.Is lints

* fix sort and cancel cause lints

* correct go.mod & vendor in from main to solve conflicts

* use env var to flag parquet promql acceptance

* fix deps from main again

* fix deps from main again

* fix deps from main again

* fix deps from main again
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.

4 participants
0