Skip to content

Remove bloom compactor component #13957

@chaudum

Description

@chaudum

Background

Some time ago, a two new components for building bloom filters were introduced: the bloom planner and the bloom builder.

These new components fulfil the same functionality as the the compactor, however, they come with certain advantages:

  • The consistent hash ring for the compactors is removed. The ring is hard to operate and configure and causes problems with the ownership of fingerprint ranges when instances are added and removed regularly (e.g. due to OOMing)
  • The planner/builder approach can distribute load better, because builders get new tasks from the queue whenever their previous task is completed. This reduces idle time of instances.
  • Only the planner is "stateful", since it keeps the queue. Builders are stateless and can be scaled horizontally depending on the needs, without changing the fingerprint ranges of the tasks (which was the case when running compactors). This can enable huge cost savings, because planners can be run on spot instances.

List of PRs

Change request

⚠️ Note
Bloom filters are an experimental feature and therefore subject to rapid changes.

Because of these new components, the bloom compactor should not be considered any more and existing deployments should be migrated as soon as possible.

TODOs

  • Update documentation to reference bloom planner and builders
  • Integrate bloom building into SSD deployment
  • Remove all bloom compactor related code
  • Update Helm chart (distributed) to use the new components

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions