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

Deprecate -blocks-storage.bucket-store.bucket-index.enabled configuration parameter #5051

Merged
merged 1 commit into from
May 23, 2023

Conversation

pracucci
Copy link
Collaborator

What this PR does

We, as Mimir maintainers, give the bucket index for granted but there's actually a configuration parameter to disable it. The bucket index is enabled by default since Mimir 2.0 and I'm not aware of any reason why anyone may want to disable it. Since keeping the support to run Mimir without bucket index involves some extra code in the querier and store-gateway, I propose to deprecate the configuration parameter and then remove it in Mimir 2.11.

Note: we'll have to change some integration tests to start using the bucket index everywhere, but we have to adapt them before 2.11.

Which issue(s) this PR fixes or relates to

N/A

Checklist

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

@pracucci pracucci marked this pull request as ready for review May 22, 2023 19:13
@pracucci pracucci requested review from a team as code owners May 22, 2023 19: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.

LGTM

Copy link
Contributor

@jhesketh jhesketh left a comment

Choose a reason for hiding this comment

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

Makes sense to me 👍

UpdateOnErrorInterval time.Duration `yaml:"update_on_error_interval" category:"advanced"`
IdleTimeout time.Duration `yaml:"idle_timeout" category:"advanced"`
MaxStalePeriod time.Duration `yaml:"max_stale_period" category:"advanced"`
}

func (cfg *BucketIndexConfig) RegisterFlagsWithPrefix(f *flag.FlagSet, prefix string) {
f.BoolVar(&cfg.Enabled, prefix+"enabled", true, "If enabled, queriers and store-gateways discover blocks by reading a bucket index (created and updated by the compactor) instead of periodically scanning the bucket.")
f.BoolVar(&cfg.DeprecatedEnabled, prefix+"enabled", true, "If enabled, queriers and store-gateways discover blocks by reading a bucket index (created and updated by the compactor) instead of periodically scanning the bucket.")
Copy link
Contributor

Choose a reason for hiding this comment

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

Since we no longer care about this setting and will always treat it as true in the future, should we use flagext.DeprecatedFlag and remove all the logic that depends on it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Based on our deprecation policy, whenever possible we should keep the configuration option working while deprecated. For this reason, I haven't used flagext.DeprecatedFlag and not removed the logic yet (which will be done after 2.10 is released).

…tion parameter

Signed-off-by: Marco Pracucci <marco@pracucci.com>
@pracucci pracucci force-pushed the make-bucket-index-mandatory branch from ddb6067 to de85d40 Compare May 23, 2023 14:43
@pracucci pracucci merged commit bfd164f into main May 23, 2023
@pracucci pracucci deleted the make-bucket-index-mandatory branch May 23, 2023 17:58
leizor added a commit that referenced this pull request Nov 16, 2023
This configuration parameter has been removed. Mimir is running with
bucket index enabled by default since 2.0 and it is now not possible to
disable it.

See #5051 for more details.
leizor added a commit that referenced this pull request Nov 17, 2023
* Remove -querier.query-ingesters-within config

The `-querier.query-ingesters-within` config has been moved from a
global config to a per-tenant limit config.

See #4287 for more details.

* Remove -querier.iterators and -querier.batch-iterators

The `-querier.iterators` and `-querier.batch-iterators` configuration
parameters have been removed.

See #5114 for more details.

* Remove deprecated bucket store flags

The following deprecated flags are removed:
  - `-blocks-storage.bucket-store.max-chunk-pool-bytes`
  - `-blocks-storage.bucket-store.chunk-pool-min-bucket-size-bytes`
  - `-blocks-storage.bucket-store.chunk-pool-max-bucket-size-bytes`

See #4996 for more details.

* Remove -blocks-storage.bucket-store.bucket-index.enabled config

This configuration parameter has been removed. Mimir is running with
bucket index enabled by default since 2.0 and it is now not possible to
disable it.

See #5051 for more details.

* Update CHANGELOG.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants