github thanos-io/thanos v0.30.0

latest releases: v0.36.1, v0.36.0, v0.36.0-rc.1...
22 months ago

v0.30 brings many important fixes & optimizations to compaction, store gateway, receive replication and querying. Make sure to try the new PromQL engine which is more & more efficient every week.

NOTE: Querier's query.promql-engine flag enabling the new PromQL engine is now unhidden. We encourage users to use new experimental PromQL engine for efficiency reasons.

Furthermore, we recommend you use Redis as a caching client (if you use store GW or query frontend caching) and Ketama algorithm as receiver hashing algorithm ( --receive.hashrings-algorithm=ketama - introducing consistent hashing to receiver).

Changes

Fixed

  • #5716 DNS: Fix miekgdns resolver LookupSRV to work with CNAME records.
  • #5844 Query Frontend: Fixes @ modifier time range when splitting queries by interval.
  • #5854 Query Frontend: lookback_delta param is now handled in query frontend.
  • #5860 Query: Fixed bug of not showing query warnings in Thanos UI.
  • #5856 Store: Fixed handling of debug logging flag.
  • #5230 Rule: Stateless ruler support restoring for state from query API servers. The query API servers should be able to access the remote write storage.
  • #5880 Query Frontend: Fixes some edge cases of query sharding analysis.
  • #5893 Cache: Fixed redis client not respecting SetMultiBatchSize config value.
  • #5966 Query: Stop relying on non-existent hints for mint and maxt when selecting series for the api/v1/series HTTP endpoint.
  • #5948 Store: chunks_fetched_duration wrong calculation.
  • #5910: Receive: Fixed ketama quorum bug that was could cause success response for failed replication. This also optimize heavily receiver CPU use.

Added

  • #5814 Store: Added metric thanos_bucket_store_postings_size_bytes that shows the distribution of how many postings (in bytes) were needed for each Series() call in Thanos Store. Useful for determining limits.
  • #5703 StoreAPI: Added hash field to series' chunks. Store gateway and receive implements that field and proxy leverage that for quicker deduplication.
  • #5801 Store: Added a new flag --store.grpc.downloaded-bytes-limit that limits the number of bytes downloaded in each Series/LabelNames/LabelValues call. Use thanos_bucket_store_postings_size_bytes for determining the limits.
  • #5836 Receive: Added hidden flag tsdb.memory-snapshot-on-shutdown to enable experimental TSDB feature to snapshot on shutdown. This is intended to speed up receiver restart.
  • #5839 Receive: Added parameter --tsdb.out-of-order.time-window to set time window for experimental out-of-order samples ingestion. Disabled by default (set to 0s). Please note if you enable this option and you use compactor, make sure you set the --enable-vertical-compaction flag, otherwise you might risk compactor halt.
  • #5889 Query Frontend: Added support for vertical sharding label_replace and label_join functions.
  • #5865 Compact: Retry on sync metas error.
  • #5819 Store: Added a few objectives for Store's data summaries (touched/fetched amount and sizes). They are: 50, 95, and 99 quantiles.
  • #5837 Store: Added streaming retrival of series from object storage.
  • #5940 Objstore: Support for authenticating to Swift using application credentials.
  • #5945 Tools: Added new no-downsample marker to skip blocks when downsampling via thanos tools bucket mark --marker=no-downsample-mark.json. This will skip downsampling for blocks with the new marker.
  • #5977 Tools: Added remove flag on bucket mark command to remove deletion, no-downsample or no-compact markers on the block

Changed

  • #5785 Query: thanos_store_nodes_grpc_connections now trimms external_labels label name longer than 1000 character. It also allows customizations in what labels to preserve using query.conn-metric.label flag.
  • #5542 Mixin: Added query concurrency panel to Querier dashboard.
  • #5846 Query Frontend: vertical query sharding supports subqueries.
  • #5909 Receive: Compact tenant head after no appends have happened for 1.5 tsdb.max-block-size.
  • #5593 Cache: Switched Redis client to Rueidis. Rueidis is faster and provides client-side caching. It is highly recommended to use it so that repeated requests for the same key would not be needed.
  • #5896 *: Upgraded Prometheus to v0.40.7 without implementing native histogram support. Querying native histograms will fail with Error executing query: invalid chunk encoding "<unknown>" and native histograms in write requests are ignored.
  • #5838 Mixin: Added data touched type to Store dashboard.
  • #5922 Compact: Retry on clean, partial marked errors when possible.

Removed

  • #5824 Mixin: Remove noisy ThanosReceiveTrafficBelowThreshold alert.

New Contributors

Commits

Full Changelog: v0.29.0...v0.30.0 🎉

Don't miss a new thanos release

NewReleases is sending notifications on new releases.