Graduate native histogram ingestion and close the v1-guarantees gaps - #7789
Open
CharlieTLe wants to merge 1 commit into
Open
Graduate native histogram ingestion and close the v1-guarantees gaps#7789CharlieTLe wants to merge 1 commit into
CharlieTLe wants to merge 1 commit into
Conversation
-blocks-storage.tsdb.enable-native-histograms shipped as experimental in 1.18.0, so 1.22.0 is four minors and roughly two years of exposure later. docs/guides/native-histograms.md already carries no experimental language, which contradicted v1-guarantees.md. Graduate the ingestion flag; the flag name does not change, so no deprecation shim is needed. This does not touch -blocks-storage.tsdb.out-of-order-cap-max, which has its own bullet. Also record the experimental flags this cycle added without a v1-guarantees entry: - -distributor.num-query-workers (cortexproject#7623), marked EXPERIMENTAL in its flag help. - The whole Thanos PromQL engine surface. -querier.thanos-engine says "Experimental." in its help but nothing from pkg/engine/config.go was listed. - The whole parquet flag surface; only -parquet-converter.max-num-columns was listed. Grouped by prefix rather than enumerated, since the cache flags are boilerplate. - -querier.query-protection.rejection (cortexproject#7442) and -querier.query-protection.eviction.max-evictions-per-cycle (cortexproject#7488). Parquet and the tenant-federation regex matcher are deliberately not graduated: the parquet proposal is still "Status: Proposed", docs/guides/parquet-mode.md still warns it is experimental, and cortexproject#7610 changed the file format this cycle. The regex matcher has only two minors of exposure and cortexproject#7562 fixed cross-tenant stale cache reads this cycle. Refs cortexproject#5922 Signed-off-by: Charlie Le <charlie_le@apple.com>
CharlieTLe
force-pushed
the
release-1.22-pr-c-experimental
branch
from
August 20, 2026 01:17
40de753 to
2438ad0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Groundwork for v1.22.0. Refs #5922.
Graduate native histogram ingestion
-blocks-storage.tsdb.enable-native-histogramsshipped as experimental in 1.18.0(2024-09-03) — four minors and roughly two years of exposure by 1.22.0.
docs/guides/native-histograms.mdalready contains zero "experimental" language, whichdirectly contradicted
v1-guarantees.md.The flag name does not change, so there is no deprecation shim. This does not touch
-blocks-storage.tsdb.out-of-order-cap-max, which has its own bullet.This cycle's native-histogram fixes are consumer-side decode/merge, not storage-format:
#7645 (panic on zero-count float histograms) and #7555 (ordering in split-by-interval
merges) are both fixed and tested; #7636 and #7569 are additive observability.
Experimental flags that never got a
v1-guarantees.mdentry-distributor.num-query-workers(feat(distributor): add goroutine worker pool for query fan-out to ing… #7623) — markedEXPERIMENTAL:in its flag help.-querier.thanos-enginesays "Experimental."in its help, yet nothing from
pkg/engine/config.gowas listed. Added as one groupedbullet covering
-querier/-ruler.thanos-engine,.enable-x-functions,.optimizers,.decoding-concurrency,.selector-batch-size.-parquet-converter.max-num-columnswaslisted. Grouped by prefix rather than enumerated, since the labels-cache and
row-ranges-cache flags are pure boilerplate.
-querier.query-protection.rejection(Implement Resource Based Throttling on Querier #7442) added to the existing query-rejectionbullet, and
-querier.query-protection.eviction.max-evictions-per-cycle(Add Query Resource Based Eviction #7488) tothe eviction bullet.
Deliberately not graduated
docs/proposals/parquet-storage.mdstill saysStatus: Proposedanddocs/guides/parquet-mode.mdstill warns it is experimental. Six substantive PRs landedthis cycle, including Support sharded Parquet file querying and conversion #7610 (sharded conversion — a file-format change) and feat(parquetconverter): Add max-num-columns config for automatic parquet sharding #7624.
pkg/cortex/modules.gostill calls
WarnExperimentalUse, and include resolved tenant fingerprint in result cache keys to prevent stale data after tenant changes #7562 fixed the result cache returning stalecross-tenant data this cycle. Worth revisiting in 1.23.0.
Audit outcome: two FEATUREs that look missing but are not
I checked all 14 of this cycle's FEATUREs. #7374 (timeout classification) and #7385
(
-memberlist.cluster-label) have no experimental marker anywhere — noEXPERIMENTAL:in the flag help, no
WarnExperimentalUse, no mention in their changelog entries. Addingthem to
v1-guarantees.mdwould retroactively remove guarantees from features thatshipped with them, so I left them out. Flagging it in case that was not the intent.
Older gaps found but left alone
Outside this cycle's scope, so not in this PR — worth a 1.23.0 follow-up alongside the
make check-experimental-flagslint idea:-distributor.num-push-workers, the ringtoken-generation strategy, ruler ring replication factor / zone awareness, ruler rule
deduplication, and the expanded postings cache.