This is documentation for the next version of Grafana Mimir documentation. For the latest stable release, go to the latest version.

Open source

Grafana Mimir version 3.2 release notes

Grafana Labs is excited to announce version 3.2 of Grafana Mimir.

The highlights that follow include the top features, enhancements, and bug fixes in this release. For the complete list of changes, refer to the CHANGELOG.

Features and enhancements

Grafana Mimir version 3.2 includes the following key features and enhancements.

Mimir Query Engine (MQE) improvements

MQE continues to receive significant optimizations in this release:

  • The experimental PromQL duration arithmetic helpers min(...) and max(...) used inside [...] range/subquery brackets and offset clauses have been renamed to min_of(...) and max_of(...).
  • Add support for the experimental PromQL function histogram_quantiles.
  • Add support for the native histogram trim operators </ (trim upper) and >/ (trim lower).
  • Add experimental support for scalar common subexpression elimination. (see -querier.mimir-query-engine.enable-scalar-common-subexpression-elimination).
  • Add experimental support for running splitting, caching and spinning off subqueries from instant queries. (see -query-frontend.use-mimir-query-engine-for-splitting-and-caching-results)
  • Improve experimental support for reporting the number of samples read per query.
  • Extended the “remove statically empty expressions” optimization pass to descend into subqueries.
  • Support for native histograms in smoothed and anchored extended range selector modifiers.

Additional improvements

Grafana Mimir 3.2 also includes:

  • Add flag to control Kafka producer compression. (-ingest-storage.kafka.producer-compression)
  • Add mimirtool partition-ring remove-all-owners-and-partitions.
  • Add a native histogram variant of the MimirRequestLatency.
  • Add AWS Signature Version 4 (SigV4) support for shared Mimir API client commands.
  • Add additional_cost_attribution_trackers configuration for multiple named cost attribution trackers per tenant.
  • Add kafkatool dump find-duplicates command.
  • Add shared tenant-fair compute worker pool to the ingester. (See experimental -ingester.compute-workers and -ingester.label-values-count-chunk-size)
  • Add -memberlist.compression-algorithm flag to select the algorithm used to compress outgoing messages.
  • Add keep-alives support to runtime configurations fetching from HTTP endpoints. (see -runtime-config.http-client-disable-keep-alives)
  • Expose ingest_storage feature flag in the /api/v1/status/buildinfo endpoint.

Important changes

Grafana Mimir 3.2 introduces several updates that change default behavior and configuration. Review these changes before upgrading:

  • Remote execution enabled by default. You must ensure all queriers are on Mimir 3.1 before upgrading. -query-frontend.enable-multiple-node-remote-execution-requests has been removed.
  • Experimental MQE Projection Pushdown optimization pass and associated CLI flag -querier.mimir-query-engine.enable-projection-pushdown has been removed.
  • Query planning metrics previously emitted with a component="querier" label are now emitted with a engine="querier" label.
  • Remove the experimental prune-toggles optimization pass and its CLI flag -querier.mimir-query-engine.enable-prune-toggles. Pruning of toggled query expressions such as ... and on() (vector(0) == 1) are now handled by the remove-statically-empty-expressions optimization pass, enabled with -querier.mimir-query-engine.enable-remove-statically-empty-expressions=true.
  • Hedging of query requests to ingesters is now disabled by default. The previous behaviour can be restored by setting -querier.minimize-ingester-requests-hedging-delay=3s.
  • -compactor.split-and-merge-shards and -compactor.ooo-split-and-merge-shards are now rounded up to the next power of two.
  • Spread the periodic idle-series cleanup across shards. (See -usage-tracker.min-time-between-shards-cleanup)
  • Respect the Cache-Control: no-store request header when caching intermediate results for range vector splitting.
  • Disable TCP DNS connection pooling used by memcached for service discovery by default.
  • Enable query sharding by default. Disable it with -query-frontend.parallelize-shardable-queries=false.

Experimental features

Grafana Mimir 3.2 includes some features that are experimental. Use these features with caution and report any issues that you encounter:

  • Add experimental support for xor2 encoding. (see -ingester.float-chunk-encoding)
  • Add experimental label-based access control (LBAC) for metric read queries. (see -auth.label-access-control-enabled)
  • Add experimental support for splitting and caching present_over_time over range vectors in instant queries.
  • Add experimental WarpStream-aware Kafka producer backend, enabled with -ingest-storage.kafka.backend=warpstream.
  • Add experimental -ruler.distributor.address support for pushing rule evaluation results to distributors over native gRPC.
  • Add experimental streaming label/value search HTTP endpoints. (See -querier.experimental-search-api-enabled)
  • Add experimental compactor scheduler component to coordinate the work between compactors.
  • Add experimental -ingest-storage.ingester-partition-metric-label-enabled flag to add ingester_partition labels to ingester’s metrics.
  • Add experimental -query-frontend.active-series-max-shard-concurrency to bound sub-requests concurency.
  • Add experimental -query-frontend.active-series-framed-responses improving query-frontend merging performances.
  • Add experimental -ingest-storage.kafka.write-timeout-overhead to cofigure the overhead added on top of the Kafka write timeout.
  • Add experimental -query-frontend.subquery-spin-off-simple-subqueries to broaden subquery spin-off.

Bug fixes

For a detailed list of bug fixes, refer to the CHANGELOG.

Helm chart improvements

The Grafana Mimir Helm chart is released independently. Refer to the Grafana Mimir Helm chart documentation.