Skip to content

Commit 2438ad0

Browse files
committed
Graduate native histogram ingestion and close the v1-guarantees gaps
-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 (#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 (#7442) and -querier.query-protection.eviction.max-evictions-per-cycle (#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 #7610 changed the file format this cycle. The regex matcher has only two minors of exposure and #7562 fixed cross-tenant stale cache reads this cycle. Refs #5922 Signed-off-by: Charlie Le <charlie_le@apple.com>
1 parent a330338 commit 2438ad0

2 files changed

Lines changed: 21 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## master / unreleased
44
* [FEATURE] Engine: Add `-querier.selector-batch-size` and `-ruler.selector-batch-size` flags to configure series batching in the Thanos promQL engine. 0 disables batching. #7763
5+
* [CHANGE] Ingester: Graduate native histogram ingestion (`-blocks-storage.tsdb.enable-native-histograms`) from experimental. #7789
56
* [CHANGE] Querier: Make query time range configurations per-tenant: `query_ingesters_within`, `query_store_after`, and `shuffle_sharding_ingesters_lookback_period`. Uses `model.Duration` instead of `time.Duration` to support serialization but has minimum unit of 1ms (nanoseconds/microseconds not supported). #7160
67
* [CHANGE] Cache: Setting `-blocks-storage.bucket-store.metadata-cache.bucket-index-content-ttl` to 0 will disable the bucket-index cache. #7446
78
* [CHANGE] HA Tracker: Move `-distributor.ha-tracker.failover-timeout` from a global config to a per-tenant runtime config. The flag name and default value (30s) remain the same. #7481

docs/configuration/v1-guarantees.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ Currently experimental features are:
5252
- Do not extend writes on unhealthy ingesters (`-distributor.extend-writes=false`)
5353
- Accept multiple HA pairs in the same request (enabled via `-experimental.distributor.ha-tracker.mixed-ha-samples=true`)
5454
- Accept Prometheus remote write 2.0 request (`-distributor.remote-writev2-enabled=true`)
55+
- Use a goroutine worker pool for query fan-out calls to ingesters (`-distributor.num-query-workers`)
5556
- Tenant Deletion in Purger, for blocks storage.
5657
- Blocks storage user index
5758
- Store Gateway max concurrent fetched data bytes limit
@@ -103,8 +104,6 @@ Currently experimental features are:
103104
- Ingest delta temporality OTLP metrics (`-distributor.otlp.allow-delta-temporality=true`)
104105
- Persistent tokens in the Ruler Ring:
105106
- `-ruler.ring.tokens-file-path` (path) CLI flag
106-
- Native Histograms
107-
- Ingestion can be enabled by setting `-blocks-storage.tsdb.enable-native-histograms=true` on Ingester.
108107
- String interning for metrics labels
109108
- Enable string interning for metrics labels by setting `-ingester.labels-string-interning-enabled` on Ingester.
110109
- Query-frontend: query rejection (`-frontend.query-rejection.enabled`)
@@ -113,9 +112,10 @@ Currently experimental features are:
113112
- Query-frontend: dynamic query splits
114113
- `querier.max-shards-per-query` (int) CLI flag
115114
- `querier.max-fetched-data-duration-per-query` (duration) CLI flag
116-
- Ingester/Store-Gateway: Query rejection
115+
- Ingester/Store-Gateway/Querier: Query rejection
117116
- `-ingester.query-protection.rejection`
118117
- `-store-gateway.query-protection.rejection`
118+
- `-querier.query-protection.rejection`
119119
- Distributor/Ingester: Stream push connection
120120
- Enable stream push connection between distributor and ingester by setting `-distributor.use-stream-push=true` on Distributor.
121121
- Enable stream push authentication on Distributor/Ingester. (`-distributor.sign-write-requests-keys`)
@@ -141,6 +141,7 @@ Currently experimental features are:
141141
- `-querier.query-protection.eviction.cooldown-period` (int)
142142
- `-querier.query-protection.eviction.eviction-metric` (string)
143143
- `-querier.query-protection.eviction.min-query-age` (duration)
144+
- `-querier.query-protection.eviction.max-evictions-per-cycle` (int)
144145
- Ingester: Active Series Tracker
145146
- Per-tenant `active_series_trackers` configuration in runtime config overrides
146147
- Counts active series matching PromQL label matchers and exposes `cortex_ingester_active_series_per_tracker` metric
@@ -154,6 +155,19 @@ Currently experimental features are:
154155
- `-ingester.head-queried-series-metrics-windows` time windows to report (default: 2h)
155156
- `-ingester.head-queried-series-metrics-window-duration` HLL sub-window size
156157
- `-ingester.head-queried-series-metrics-sample-rate` query sampling rate
157-
- Parquet Converter: Maximum number of columns per file
158-
- `-parquet-converter.max-num-columns` (int) CLI flag
159-
- Automatically shards parquet files when the number of columns exceeds the configured limit
158+
- Parquet storage
159+
- Parquet Converter: the `-parquet-converter.*` CLI flags, including `-parquet-converter.enabled`,
160+
`-parquet-converter.max-num-columns` (automatically shards parquet files when the number of columns
161+
exceeds the configured limit) and the `-parquet-converter.ring.*` ring configuration
162+
- Querier: `-querier.parquet-queryable-default-block-store`, `-querier.parquet-queryable-fallback-disabled`,
163+
the `-querier.parquet-queryable.max-fetched-*` limits and `-querier.parquet-shard-cache-*`
164+
- Store Gateway: `-blocks-storage.bucket-store.parquet-query-concurrency`,
165+
`-blocks-storage.bucket-store.parquet-shard-cache-*` and the
166+
`-blocks-storage.bucket-store.parquet-labels-cache.*` /
167+
`-blocks-storage.bucket-store.parquet-row-ranges-cache.*` cache configuration
168+
- Querier/Ruler: Thanos PromQL engine
169+
- `-querier.thanos-engine` / `-ruler.thanos-engine` (boolean) CLI flags
170+
- `-querier.enable-x-functions` / `-ruler.enable-x-functions` (boolean) CLI flags
171+
- `-querier.optimizers` / `-ruler.optimizers` (string) CLI flags
172+
- `-querier.decoding-concurrency` / `-ruler.decoding-concurrency` (int) CLI flags
173+
- `-querier.selector-batch-size` / `-ruler.selector-batch-size` (int) CLI flags

0 commit comments

Comments
 (0)