Thanos - v0.30.0


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

  • @rajivharlalka made their first contribution in https://github.com/thanos-io/thanos/pull/5631
  • @Atharva-Shinde made their first contribution in https://github.com/thanos-io/thanos/pull/5716
  • @clwluvw made their first contribution in https://github.com/thanos-io/thanos/pull/5856
  • @VicThomas made their first contribution in https://github.com/thanos-io/thanos/pull/5884
  • @karster made their first contribution in https://github.com/thanos-io/thanos/pull/5886
  • @sumanpaikdev made their first contribution in https://github.com/thanos-io/thanos/pull/5868
  • @abbyssoul made their first contribution in https://github.com/thanos-io/thanos/pull/5893
  • @juanrh made their first contribution in https://github.com/thanos-io/thanos/pull/5795
  • @hyder made their first contribution in https://github.com/thanos-io/thanos/pull/5928
  • @aarnq made their first contribution in https://github.com/thanos-io/thanos/pull/5940
  • @4orty made their first contribution in https://github.com/thanos-io/thanos/pull/5953
  • @jatinagwal made their first contribution in https://github.com/thanos-io/thanos/pull/5967
  • @RohitKochhar made their first contribution in https://github.com/thanos-io/thanos/pull/5945
  • @rabenhorst made their first contribution in https://github.com/thanos-io/thanos/pull/5896
  • @kama910 made their first contribution in https://github.com/thanos-io/thanos/pull/5981
  • @Vishvsalvi made their first contribution in https://github.com/thanos-io/thanos/pull/5979
  • @maheshbaliga made their first contribution in https://github.com/thanos-io/thanos/pull/5977
Commits * CHANGELOG: mark 0.29.0 as in progress by @GiedriusS in https://github.com/thanos-io/thanos/pull/5808 * store: add histogram for postings size by @GiedriusS in https://github.com/thanos-io/thanos/pull/5814 * Store/Receivers: Calculating chunk hashes on stores/receivers by @pedro-stanaka in https://github.com/thanos-io/thanos/pull/5703 * Use pre-calculated hashes by @fpetkovski in https://github.com/thanos-io/thanos/pull/5817 * Short-circuit chunk dedup in proxy by @fpetkovski in https://github.com/thanos-io/thanos/pull/5816 * deps: Updated promql-engine to latest. by @bwplotka in https://github.com/thanos-io/thanos/pull/5821 * Query: Trim very long external labels and add cmd flag to optionally specify metric labels to collect by @utukJ in https://github.com/thanos-io/thanos/pull/5785 * CircleCI: Replace checkout step with custom command by @matej-g in https://github.com/thanos-io/thanos/pull/5829 * store: add downloaded bytes limit by @GiedriusS in https://github.com/thanos-io/thanos/pull/5801 * Mixin: Remove low ingestion rate warning for receiver by @matej-g in https://github.com/thanos-io/thanos/pull/5824 * Mixin: Remove low ingestion rate warning for receiver (fix tests) by @matej-g in https://github.com/thanos-io/thanos/pull/5831 * Fix Typo's in recieve.md by @rajivharlalka in https://github.com/thanos-io/thanos/pull/5631 * add panel Query Concurrency to dashboard mixin. by @raptorsun in https://github.com/thanos-io/thanos/pull/5542 * docs: Added guide for Community Office Hours shepherding. by @bwplotka in https://github.com/thanos-io/thanos/pull/5568 * *: Clean up stale bot config file by @matej-g in https://github.com/thanos-io/thanos/pull/5834 * Receive: Add experimental snapshot on shutdown by @matej-g in https://github.com/thanos-io/thanos/pull/5836 * Feature: Fix miekgdns resolver LookupSRV function to work with CNAME records too by @Atharva-Shinde in https://github.com/thanos-io/thanos/pull/5716 * Update promql engine by @fpetkovski in https://github.com/thanos-io/thanos/pull/5845 * Receive: Add parameter to set out-of-order time window by @matej-g in https://github.com/thanos-io/thanos/pull/5839 * Apply @ modifier start and end in QF split interval middleware by @yeya24 in https://github.com/thanos-io/thanos/pull/5844 * Shard subqueries by @yeya24 in https://github.com/thanos-io/thanos/pull/5846 * Support lookback_delta on query frontend by @yeya24 in https://github.com/thanos-io/thanos/pull/5854 * Receive: Make out-of-order max cap parameter hidden by @matej-g in https://github.com/thanos-io/thanos/pull/5851 * Merge release 0.29 to main by @GiedriusS in https://github.com/thanos-io/thanos/pull/5858 * ui: Added back support for warnings printed in info level. by @bwplotka in https://github.com/thanos-io/thanos/pull/5860 * store: add missing debugLogging set by @clwluvw in https://github.com/thanos-io/thanos/pull/5856 * Added blog space on Thanos website. by @bwplotka in https://github.com/thanos-io/thanos/pull/5873 * Adds medallia blog post by @vanugrah in https://github.com/thanos-io/thanos/pull/5878 * Update 2022-09-08-thanos-at-medallia.md by @VicThomas in https://github.com/thanos-io/thanos/pull/5884 * change Hyperia logo by @karster in https://github.com/thanos-io/thanos/pull/5886 * *:Fix stateless ruler config in quickstart by @matej-g in https://github.com/thanos-io/thanos/pull/5885 * Stateless ruler restores alert state by @yeya24 in https://github.com/thanos-io/thanos/pull/5230 * Update README.md by @sumanpaikdev in https://github.com/thanos-io/thanos/pull/5868 * Fix querysharding labels analysis by @yeya24 in https://github.com/thanos-io/thanos/pull/5880 * *: Fix lint by @matej-g in https://github.com/thanos-io/thanos/pull/5888 * Cache: Fixed redis cache to use multi batch size config value by @abbyssoul in https://github.com/thanos-io/thanos/pull/5893 * compact: retry on sync metas error by @clwluvw in https://github.com/thanos-io/thanos/pull/5865 * Support matrix type response merge for instant query sharding by @yeya24 in https://github.com/thanos-io/thanos/pull/5853 * Support vertical sharding for label_join and label_replace functions by @yeya24 in https://github.com/thanos-io/thanos/pull/5889 * *: Updates Prometheus BusyBox image SHAs by @github-actions in https://github.com/thanos-io/thanos/pull/5898 * Update objstore to latest commit by @phillebaba in https://github.com/thanos-io/thanos/pull/5897 * query:Avoid creating aux slice in removeExactDuplicates by @juanrh in https://github.com/thanos-io/thanos/pull/5795 * Bump loader-utils from 1.4.0 to 1.4.2 in /pkg/ui/react-app by @dependabot in https://github.com/thanos-io/thanos/pull/5900 * querier: Unhide `query.promql-engine` flag; added info in docs. by @bwplotka in https://github.com/thanos-io/thanos/pull/5913 * Compact tenant TSDBs after 3h inactivity by @fpetkovski in https://github.com/thanos-io/thanos/pull/5909 * Store: Add a few objectives for Store's data touched/fetched amount and sizes by @douglascamata in https://github.com/thanos-io/thanos/pull/5819 * *: Quick CHANGELOG fix after #5819 by @douglascamata in https://github.com/thanos-io/thanos/pull/5919 * Store: add data touched by type to the dashboard by @douglascamata in https://github.com/thanos-io/thanos/pull/5838 * Implement lazy retrieval of series from object store. by @fpetkovski in https://github.com/thanos-io/thanos/pull/5837 * compact: retry on cleanPartialMarked errors if possible by @clwluvw in https://github.com/thanos-io/thanos/pull/5922 * Docs: Add mentee selection process by @saswatamcode in https://github.com/thanos-io/thanos/pull/5920 * docs: Updated documentation for OCI Object Storage, added link to blog post by @hyder in https://github.com/thanos-io/thanos/pull/5928 * Bump github.com/prometheus/exporter-toolkit from 0.7.1 to 0.7.3 by @dependabot in https://github.com/thanos-io/thanos/pull/5938 * objstore: Update to latest by @aarnq in https://github.com/thanos-io/thanos/pull/5940 * Added Filip and Saswata to maintainers list after internal vote. by @bwplotka in https://github.com/thanos-io/thanos/pull/5950 * add kakaopay as adoptors by @4orty in https://github.com/thanos-io/thanos/pull/5953 * Fix values for the chunks_fetched_duration metric by @fpetkovski in https://github.com/thanos-io/thanos/pull/5948 * Added bwplotka as community meetings and release shepherd for December. by @bwplotka in https://github.com/thanos-io/thanos/pull/5955 * docs: fix some typos by @daixiang0 in https://github.com/thanos-io/thanos/pull/5958 * *: Document development in WSL2 by @douglascamata in https://github.com/thanos-io/thanos/pull/5927 * Fix mint and maxt for api/v1/series call by @fpetkovski in https://github.com/thanos-io/thanos/pull/5966 * fixed blog list view in website by @jatinagwal in https://github.com/thanos-io/thanos/pull/5967 * Fix ketama quorum by @fpetkovski in https://github.com/thanos-io/thanos/pull/5910 * cortex/transport: print grafana data if exists by @GiedriusS in https://github.com/thanos-io/thanos/pull/5973 * query/endpointset: fix some races by @GiedriusS in https://github.com/thanos-io/thanos/pull/5972 * Added tools bucket marker for no-downsample.json by @RohitKochhar in https://github.com/thanos-io/thanos/pull/5945 * *: Updates Prometheus BusyBox image SHAs by @github-actions in https://github.com/thanos-io/thanos/pull/5975 * Update Prometheus to v0.40.1 by @rabenhorst in https://github.com/thanos-io/thanos/pull/5896 * Bump decode-uri-component from 0.2.0 to 0.2.2 in /pkg/ui/react-app by @dependabot in https://github.com/thanos-io/thanos/pull/5939 * Use `efficientgo/core/testutil` for tests by @saswatamcode in https://github.com/thanos-io/thanos/pull/5933 * Changing store to match debug level by @kama910 in https://github.com/thanos-io/thanos/pull/5981 * Github link to v0.25.2 by @Vishvsalvi in https://github.com/thanos-io/thanos/pull/5979 * mixin(Receive): Fix series/samples written rate by @douglascamata in https://github.com/thanos-io/thanos/pull/5989 * cache: switch to Rueidis client for Redis by @GiedriusS in https://github.com/thanos-io/thanos/pull/5593 * tools: Added remove flag on bucket mark command to remove deletion, no-downsample or no-compact markers on the block by @maheshbaliga in https://github.com/thanos-io/thanos/pull/5977 * compact: remove cancel on SyncMetas errors by @clwluvw in https://github.com/thanos-io/thanos/pull/5923 * Cut v0.30.0-rc.0 by @bwplotka in https://github.com/thanos-io/thanos/pull/5992

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.29.0...v0.30.0 🎉


Details

date
Jan. 3, 2023, 2:42 p.m.
name
v0.30.0
type
Minor
👇
Register or login to:
  • 🔍View and search all Thanos releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or