Skip to content

Parquet: add row range constraints cache#7478

Draft
siddarth2810 wants to merge 4 commits intocortexproject:masterfrom
siddarth2810:parquet-row-ranges-cache
Draft

Parquet: add row range constraints cache#7478
siddarth2810 wants to merge 4 commits intocortexproject:masterfrom
siddarth2810:parquet-row-ranges-cache

Conversation

@siddarth2810
Copy link
Copy Markdown
Contributor

What this PR does:
It adds a Cortex-backed implementation of parquet-common's RowRangesForConstraintsCache and wires it into the direct parquet queryable path in the querier.

Which issue(s) this PR fixes:
Fixes #7139

Implemented:

  • Row ranges cache adapter in pkg/util/parquetutil
  • Bucket-store config and flags for parquet_row_ranges_cache
  • Direct querier parquet queryable wiring
  • Multi-level cache metric name mapping
  • Generated config docs and schema

Pending:

  • Store-gateway parquet path wiring

I am opening this as a draft to confirm the direction before proceeding further.

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]
  • docs/configuration/v1-guarantees.md updated if this PR introduces experimental flags

Implement a parquet-common RowRangesForConstraintsCache backed by Cortex cache
backends. Encode row ranges into a compact binary format and hash cache keys so
they are safe for memcached and other shared cache backends.

Signed-off-by: Siddarth Gundu <siddarthg0910@gmail.com>
Add bucket-store config for the parquet row ranges cache, create the
backend cache for parquet queryable

Signed-off-by: Siddarth Gundu <siddarthg0910@gmail.com>
Signed-off-by: Siddarth Gundu <siddarthg0910@gmail.com>
Signed-off-by: Siddarth Gundu <siddarthg0910@gmail.com>
@siddarth2810 siddarth2810 changed the title [Draft] Parquet: add row range constraints cache Parquet: add row range constraints cache May 6, 2026
Copy link
Copy Markdown
Member

@friedrichg friedrichg left a comment

Choose a reason for hiding this comment

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

Direction looks good to me. Clean implementation following existing cache patterns. Only minor nit: the cfg.MultiLevel.BackFillTTL = cfg.TTL line in RegisterFlagsWithPrefix is dead code since CreateParquetRowRangesCache re-sets it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Parquet] Support row range constraints cache

2 participants