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

Bloom/running #11918

Merged
merged 18 commits into from
Feb 13, 2024
Merged

Bloom/running #11918

merged 18 commits into from
Feb 13, 2024

Conversation

owen-d
Copy link
Member

@owen-d owen-d commented Feb 11, 2024

Includes a few small fixes in order to get the compactor running, including

  • Wires up i/o from v1 pkg and the bloomshipper pkg in order to archive+write blocks remotely after building
  • config error handling
  • fix an error iterating chunks
  • handles gzipping when loading tsdbs from storage
  • bypasses internal cache in BloomTSDBStore's internal indexshipper/storage.Client to get up to date results, which is easier for prototyping
  • ClosableReadSeekerAdapter

owen-d added 15 commits February 9, 2024 09:28
Signed-off-by: Owen Diehl <[email protected]>
uses readonly store only when bloomcompactor is target, not a dependency
Signed-off-by: Owen Diehl <[email protected]>
Signed-off-by: Owen Diehl <[email protected]>
@owen-d owen-d requested a review from a team as a code owner February 11, 2024 23:16
@github-actions github-actions bot added the type/docs Issues related to technical documentation; the Docs Squad uses this label across many repositories label Feb 11, 2024
Copy link
Contributor

@chaudum chaudum left a comment

Choose a reason for hiding this comment

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

lgtm :shipit:

@@ -648,7 +651,7 @@ func (t *Loki) setupModuleManager() error {
Write: {Ingester, Distributor},
Backend: {QueryScheduler, Ruler, Compactor, IndexGateway, BloomGateway, BloomCompactor},

All: {QueryScheduler, QueryFrontend, Querier, Ingester, Distributor, Ruler, Compactor},
All: {QueryScheduler, QueryFrontend, Querier, Ingester, Distributor, Ruler, Compactor, BloomCompactor},
Copy link
Contributor

Choose a reason for hiding this comment

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

Up for discussion, but I don't think that we want to include the bloom compactor in the all target.
For testing, it comes handy, I understand.

Copy link
Contributor

@salvacorts salvacorts Feb 12, 2024

Choose a reason for hiding this comment

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

I don't think users of the monolith mode will benefit from building blooms significantly, right? In addition to that, it will increase resource usage and operational burden. - So I think we should remove it, or add a feature flag for that which defaults to false (e.g. enable_bloom_compactor_all_target).

Copy link
Member Author

Choose a reason for hiding this comment

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

Fair points all around, but we can leave it to enable better testing then remove it prior to release.

@@ -313,6 +311,12 @@ func (b *batchedLoader) Next() bool {
}

b.batch, b.err = next.fetcher.FetchChunks(b.ctx, toFetch)
return b.prepNext()
Copy link
Contributor

Choose a reason for hiding this comment

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

FetchChunks may return an error, then len(b.batch) is 0, which will cause an out of bounds error in prepNext().

Copy link
Member Author

Choose a reason for hiding this comment

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

Good catch, will fix. Thanks

@owen-d owen-d merged commit 7560067 into grafana:main Feb 13, 2024
9 checks passed
rhnasc pushed a commit to inloco/loki that referenced this pull request Apr 12, 2024
Includes a few small fixes in order to get the compactor running,
including
* Wires up i/o from `v1` pkg and the `bloomshipper` pkg in order to
archive+write blocks remotely after building
* config error handling
* fix an error iterating chunks
* handles gzipping when loading tsdbs from storage
* bypasses internal cache in `BloomTSDBStore`'s internal
`indexshipper/storage.Client` to get up to date results, which is easier
for prototyping
* `ClosableReadSeekerAdapter`

---------

Signed-off-by: Christian Haudum <[email protected]>
Signed-off-by: Owen Diehl <[email protected]>
Co-authored-by: Christian Haudum <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size/L type/docs Issues related to technical documentation; the Docs Squad uses this label across many repositories
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants