thanos

Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.

APACHE-2.0 License

Stars
12.6K
Committers
620

Bot releases are hidden (Show)

thanos - v0.34.1 Latest Release

Published by MichaHoffmann 8 months ago

This patch release includes a fix for CVE-2023-44478, thanks @hanyuting8!

Changelog

Fixed

  • #7078 *: Bump gRPC to 1.57.2

Added

Changed

Removed

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.34.0...v0.34.1

thanos - v0.34.0

Published by MichaHoffmann 9 months ago

v0.34.0 is out!

Thank you to all contributors who have contributed to this release. It wouldn't be possible without you.

Please take note that the default value of the flag --sync-block-duration has been updated from 3m to 15m!

You can find the changelog with all of the details below. Let's also celebrate all our new contributors!

Changelog

Fixed

  • #7011 Query Frontend: queries with negative offset should check whether it is cacheable or not.
  • #6874 Sidecar: fix labels returned by 'api/v1/series' in presence of conflicting external and inner labels.
  • #7009 Rule: Fix spacing error in URL.
  • #7082 Stores: fix label values edge case when requesting external label values with matchers

Added

  • #6756 Query: Add query.enable-tenancy & query.tenant-label-name options to allow enforcement of tenancy on the query path, by injecting labels into queries (uses prom-label-proxy internally).
  • #6944 Receive: Added a new flag for maximum retention bytes.
  • #6891 Objstore: Bump objstore which adds support for Azure Workload Identity.
  • #6453 Sidecar: Added --reloader.method to support configuration reloads via SIHUP signal.
  • #6925 Store Gateway: Support float native histogram.
  • #6954 Index Cache: Support tracing for fetch APIs.
  • #6943 Ruler: Added keep_firing_for field in alerting rule.
  • #6972 Store Gateway: Apply series limit when streaming series for series actually matched if lazy postings is enabled.
  • #6984 Store Gateway: Added --store.index-header-lazy-download-strategy to specify how to lazily download index headers when lazy mmap is enabled.
  • #6887 Query Frontend: breaking ⚠️ Add tenant label to relevant exported metrics. Note that this change may cause some pre-existing custom dashboard queries to be incorrect due to the added label.
  • #7028 Query|Query Frontend: Add new --query-frontend.enable-x-functions flag to enable experimental extended functions.
  • #6884 Tools: Add upload-block command to upload blocks to object storage.

Changed

  • #6539 Store: breaking ⚠️ Changed --sync-block-duration default 3m to 15m.

Removed

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.33.0...v0.34.0-rc.0

thanos - v0.34.0-rc.1

Published by MichaHoffmann 9 months ago

v0.34.0-rc.1 is out!

Thank you to all contributors who have contributed to this release. It wouldn't be possible without you.

In addition to the changes from v0.34.0-rc.0 we cherry-picked https://github.com/thanos-io/thanos/commit/ceadfbb93658764de287fc416c85292b34050d6b.

Please take note that the default value of the flag --sync-block-duration has been updated from 3m to 15m!

You can find the changelog with all of the details below. Let's also celebrate all our new contributors!
Please try it out and let us know if you spot any problems! Full-release/next rc will be in 3 days!

Changelog

Fixed

  • #7011 Query Frontend: queries with negative offset should check whether it is cacheable or not.
  • #6874 Sidecar: fix labels returned by 'api/v1/series' in presence of conflicting external and inner labels.
  • #7009 Rule: Fix spacing error in URL.
  • #7082 Stores: fix label values edge case when requesting external label values with matchers

Added

  • #6756 Query: Add query.enable-tenancy & query.tenant-label-name options to allow enforcement of tenancy on the query path, by injecting labels into queries (uses prom-label-proxy internally).
  • #6944 Receive: Added a new flag for maximum retention bytes.
  • #6891 Objstore: Bump objstore which adds support for Azure Workload Identity.
  • #6453 Sidecar: Added --reloader.method to support configuration reloads via SIHUP signal.
  • #6925 Store Gateway: Support float native histogram.
  • #6954 Index Cache: Support tracing for fetch APIs.
  • #6943 Ruler: Added keep_firing_for field in alerting rule.
  • #6972 Store Gateway: Apply series limit when streaming series for series actually matched if lazy postings is enabled.
  • #6984 Store Gateway: Added --store.index-header-lazy-download-strategy to specify how to lazily download index headers when lazy mmap is enabled.
  • #6887 Query Frontend: breaking ⚠️ Add tenant label to relevant exported metrics. Note that this change may cause some pre-existing custom dashboard queries to be incorrect due to the added label.
  • #7028 Query|Query Frontend: Add new --query-frontend.enable-x-functions flag to enable experimental extended functions.
  • #6884 Tools: Add upload-block command to upload blocks to object storage.

Changed

  • #6539 Store: breaking ⚠️ Changed --sync-block-duration default 3m to 15m.

Removed

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.33.0...v0.34.0-rc.0

thanos - v0.34.0-rc.0

Published by MichaHoffmann 9 months ago

v0.34.0-rc.0 is out!

Thank you to all contributors who have contributed to this release. It wouldn't be possible without you.

Please take note that the default value of the flag --sync-block-duration has been updated from 3m to 15m!

You can find the changelog with all of the details below. Let's also celebrate all our new contributors!
Please try it out and let us know if you spot any problems! Full-release/next rc will be in 3 days!

Changelog

Fixed

  • #7011 Query Frontend: queries with negative offset should check whether it is cacheable or not.
  • #6874 Sidecar: fix labels returned by 'api/v1/series' in presence of conflicting external and inner labels.
  • #7009 Rule: Fix spacing error in URL.

Added

  • #6756 Query: Add query.enable-tenancy & query.tenant-label-name options to allow enforcement of tenancy on the query path, by injecting labels into queries (uses prom-label-proxy internally).
  • #6944 Receive: Added a new flag for maximum retention bytes.
  • #6891 Objstore: Bump objstore which adds support for Azure Workload Identity.
  • #6453 Sidecar: Added --reloader.method to support configuration reloads via SIHUP signal.
  • #6925 Store Gateway: Support float native histogram.
  • #6954 Index Cache: Support tracing for fetch APIs.
  • #6943 Ruler: Added keep_firing_for field in alerting rule.
  • #6972 Store Gateway: Apply series limit when streaming series for series actually matched if lazy postings is enabled.
  • #6984 Store Gateway: Added --store.index-header-lazy-download-strategy to specify how to lazily download index headers when lazy mmap is enabled.
  • #6887 Query Frontend: breaking ⚠️ Add tenant label to relevant exported metrics. Note that this change may cause some pre-existing custom dashboard queries to be incorrect due to the added label.
  • #7028 Query|Query Frontend: Add new --query-frontend.enable-x-functions flag to enable experimental extended functions.
  • #6884 Tools: Add upload-block command to upload blocks to object storage.

Changed

  • #6539 Store: breaking ⚠️ Changed --sync-block-duration default 3m to 15m.

Removed

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.33.0...v0.34.0-rc.0

thanos - v0.33.0

Published by MichaHoffmann 10 months ago

v0.33.0 is out!
Thank you to all contributors who have contributed to this release. It wouldn't be possible without you.

Do take note of some of the breaking metric changes in the querier and store around tenancy.

You can find the changelog with all of the details below. Let's also celebrate all our new contributors!
Please try it out and let us know if you spot any problems!

Changelog

Fixed

  • #6817 Store Gateway: fix matchersToPostingGroups label values variable got shadowed bug.

Added

  • #6891 Objstore: Bump objstore which adds support for Azure Workload Identity.
  • #6605 Query Frontend: Support vertical sharding binary expression with metric name when no matching labels specified.
  • #6308 Ruler: Support configuration flag that allows customizing template for alert message.
  • #6760 Query Frontend: Added TLS support in --query-frontend.downstream-tripper-config and --query-frontend.downstream-tripper-config-file
  • #6749 Store Gateway: Added thanos_store_index_cache_fetch_duration_seconds histogram for tracking latency of fetching data from index cache.
  • #6690 Store: breaking ⚠️ Add tenant label to relevant exported metrics. Note that this change may cause some pre-existing dashboard queries to be incorrect due to the added label.
  • #6530 / #6690 Query: Add command line arguments for configuring tenants and forward tenant information to Store Gateway.
  • #6765 Index Cache: Add enabled_items to index cache config to selectively cache configured items. Available item types are Postings, Series and ExpandedPostings.
  • #6773 Index Cache: Add ttl to control the ttl to store items in remote index caches like memcached and redis.
  • #6794 Query: breaking ⚠️ Add tenant label to relevant exported metrics. Note that this change may cause some pre-existing custom dashboard queries to be incorrect due to the added label.

Changed

  • #6698 Receive: Change write log level from warn to info.
  • #6753 mixin(Rule): breaking ⚠️ Fixed the mixin rules with duplicate names and updated the promtool version from v0.37.0 to v0.47.0
  • #6772 *: Bump prometheus to v0.47.2-0.20231006112807-a5a4eab679cc
  • #6794 Receive: the exported HTTP metrics now uses the specified default tenant for requests where no tenants are found.

Removed

  • #6686 Remove deprecated --log.request.decision flag. We now use --request.logging-config to set logging decisions.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.32.5...v0.33.0

thanos - v0.33.0-rc.0

Published by MichaHoffmann 11 months ago

v0.33.0-rc.0 is out!
Thank you to all contributors who have contributed to this release. It wouldn't be possible without you.

Do take note of some of the breaking metric changes in the querier and store around tenancy.

You can find the changelog with all of the details below. Let's also celebrate all our new contributors!
Please try it out and let us know if you spot any problems! Full-release/next rc will be in 3 days!

Changelog

Fixed

  • #6817 Store Gateway: fix matchersToPostingGroups label values variable got shadowed bug.

Added

  • #6891 Objstore: Bump objstore which adds support for Azure Workload Identity.
  • #6605 Query Frontend: Support vertical sharding binary expression with metric name when no matching labels specified.
  • #6308 Ruler: Support configuration flag that allows customizing template for alert message.
  • #6760 Query Frontend: Added TLS support in --query-frontend.downstream-tripper-config and --query-frontend.downstream-tripper-config-file
  • #6749 Store Gateway: Added thanos_store_index_cache_fetch_duration_seconds histogram for tracking latency of fetching data from index cache.
  • #6690 Store: breaking ⚠️ Add tenant label to relevant exported metrics. Note that this change may cause some pre-existing dashboard queries to be incorrect due to the added label.
  • #6530 / #6690 Query: Add command line arguments for configuring tenants and forward tenant information to Store Gateway.
  • #6765 Index Cache: Add enabled_items to index cache config to selectively cache configured items. Available item types are Postings, Series and ExpandedPostings.
  • #6773 Index Cache: Add ttl to control the ttl to store items in remote index caches like memcached and redis.
  • #6794 Query: breaking ⚠️ Add tenant label to relevant exported metrics. Note that this change may cause some pre-existing custom dashboard queries to be incorrect due to the added label.

Changed

  • #6698 Receive: Change write log level from warn to info.
  • #6753 mixin(Rule): breaking ⚠️ Fixed the mixin rules with duplicate names and updated the promtool version from v0.37.0 to v0.47.0
  • #6772 *: Bump prometheus to v0.47.2-0.20231006112807-a5a4eab679cc
  • #6794 Receive: the exported HTTP metrics now uses the specified default tenant for requests where no tenants are found.

Removed

  • #6686 Remove deprecated --log.request.decision flag. We now use --request.logging-config to set logging decisions.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.32.5...v0.33.0-rc.0

thanos - v0.32.5

Published by saswatamcode about 1 year ago

This patch release brings a fix for Receive, for a bug that allowed the head series limiter to be run without explicitly setting it. It also brings a fix for Store GW, for a bug that caused /api/v1/labels to not filter external labels.

Alongside this, we also build with Go 1.21.3 and golang.org/x/net v0.17 in this release to address Go CVE.
Please try it out and let us know if you spot any problems! Enjoy! 🎉

Changes

Fixed

  • #6615 #6805: Build with Go 1.21 and bump golang.org/x/net to v0.17 for addressing Go CVE.
  • #6802 Receive: head series limiter should not run if no head series limit is set.
  • #6816 Store: fix prometheus store label values matches for external labels.
thanos - v0.32.4

Published by saswatamcode about 1 year ago

This patch release updates our object storage library to address a few issues that were introduced earlier.
Please try it out and let us know if you spot any problems! Enjoy! 🎉

Changes

Fixed

thanos - v0.32.3

Published by saswatamcode about 1 year ago

This patch release again brings a few fixes for the Store Gateway. In the previous release, certain users reported receiving a duplicate labelset error on some of their queries. This has now been addressed.
Also, includes an optimization for GCS objstore interactions and bumps in dependencies like prometheus, objstore and promql-engine.
Please try it out and let us know if you spot any problems! Enjoy! 🎉

Changes

Fixed

  • #6692 Store: Fix matching bug when using empty alternative in regex matcher, for example (a||b).
  • #6679 Store: Fix block deduplication
  • #6706 Store: Series responses should always be sorted

Changed

  • #6664 *: Update Prometheus to 2.46.1.
  • #6722 *: Optimize iterations on GCS buckets by requesting only object names.
  • #6544 Objstore: Update objstore to latest version which adds a new metric regarding uploaded TSDB bytes
thanos - v0.32.2

Published by saswatamcode about 1 year ago

This patch release again brings a few fixes for the Store Gateway. In the previous release, certain users reported receiving a nil postings error on some of their queries, alongside certain race conditions, and empty query stats on debug messages. These have now been addressed.
Please try it out and let us know if you spot any problems! Enjoy! 🎉

Changes

Fixed

  • #6675 Store: Fix race when iterating blocks
  • #6679 Store: Record stats even on ExpandPostings error
  • #6681 Store: Fix forgotten field in store stats merge
  • #6684 Store: Fix postings reader short reads to address nil postings bug
thanos - v0.32.1

Published by saswatamcode about 1 year ago

This patch release contains a few fixes for the Store Gateway. In the previous release, a memory issue was detected in the label names set implementation, alongside certain ignored or unchecked errors in store postings. These have now been addressed.
Please try it out and let us know if you spot any problems! Enjoy! 🎉

Changes

Fixed

  • #6650 Store: fix error handling in decodePostings
  • #6654 Store: fix ignored error in postings
  • #6655 Store: fix bufio pool handling
  • #6669 Store: Fix mutable stringset memory usage
thanos - v0.32.0

Published by saswatamcode about 1 year ago

v0.32.0 is out after a long wait, as we were busy fixing a rather challenging issue!
Thank you to all contributors who have contributed to this release. It wouldn't be possible without you.
Some of the highlights include support for PromQL query explanations in the UI when using the thanos PromQL engine, AZ-aware replication for Receive and other new flags, tools bucket replicate improvements, and lots of optimizations and bug/race fixes!
Do take note of some of the breaking metric name changes and the change in container image user.
You can find the changelog with all of the details below. Let's also celebrate all our new contributors!
Please try it out and let us know if you spot any problems! Enjoy! 🎉

Changes

Added

  • #6437 Receive: make tenant stats limit configurable
  • #6369 Receive: add az-aware replication support for Ketama algorithm
  • #6185 Tracing: tracing in OTLP support configuring service_name.
  • #6192 Store: add flag bucket-web-label to select the label to use as timeline title in web UI
  • #6195 Receive: add flag tsdb.too-far-in-future.time-window to prevent clock skewed samples to pollute TSDB head and block all valid incoming samples.
  • #6273 Mixin: Allow specifying an instance name filter in dashboards
  • #6163 Receiver: Add hidden flag --receive-forward-max-backoff to configure the max backoff for forwarding requests.
  • #5777 Receive: Allow specifying tenant-specific external labels in Router Ingestor.
  • #6352 Store: Expose store gateway query stats in series response hints.
  • #6420 Index Cache: Cache expanded postings.
  • #6441 Compact: Compactor will set index_stats in meta.json file with max series and chunk size information.
  • #6466 Mixin (Receive): add limits alerting for configuration reload and meta-monitoring.
  • #6467 Mixin (Receive): add alert for tenant reaching head series limit.
  • #6528 Index Cache: Add histogram metric thanos_store_index_cache_stored_data_size_bytes for item size.
  • #6560 Thanos ruler: add flag to optionally disable adding Thanos params when querying metrics
  • #6574 Tools: Add min and max compactions range flags to bucket replicate command.
  • #6593 Store: Add thanos_bucket_store_chunk_refetches_total metric to track number of chunk refetches.
  • #6264 Query: Add Thanos logo in navbar
  • #6234 Query: Add ability to switch between thanos and prometheus engines dynamically via UI and API.
  • #6346 Query: Add ability to generate SQL-like query explanations when thanos engine is used.

Fixed

  • #6503 *: Change the engine behind ContentPathReloader to be completely independent of any filesystem concept. This effectively fixes this configuration reload when used with Kubernetes ConfigMaps, Secrets, or other volume mounts.
  • #6456 Store: fix crash when computing set matches from regex pattern
  • #6427 Receive: increased log level for failed uploads to error
  • #6172 query-frontend: return JSON formatted errors for invalid PromQL expression in the split by interval middleware.
  • #6171 Store: fix error handling on limits.
  • #6183 Receiver: fix off by one in multitsdb flush that will result in empty blocks if the head only contains one sample
  • #6197 Exemplar OTel: Fix exemplar for otel to use traceId instead of spanId and sample only if trace is sampled
  • #6207 Receive: Remove the shipper once a tenant has been pruned.
  • #6216 Receiver: removed hard-coded value of EnableExemplarStorage flag and set it according to max-exemplar value.
  • #6222 mixin(Receive): Fix tenant series received dashboard widget.
  • #6218 mixin(Store): handle ResourceExhausted as a non-server error. As a consequence, this error won't contribute to Store's grpc errors alerts.
  • #6271 Receive: Fix segfault in LabelValues during head compaction.
  • #6306 Tracing: tracing in OTLP utilize the OTEL_TRACES_SAMPLER env variable
  • #6330 Store: Fix inconsistent error for series limits.
  • #6342 Cache/Redis: Upgrade rueidis to v1.0.2 to to improve error handling while shrinking a redis cluster.
  • #6325 Store: return gRPC resource exhausted error for byte limiter.
  • #6399 *: Fix double-counting bug in http_request_duration metric
  • #6428 Report gRPC connnection errors in the logs.
  • #6519 Reloader: Use timeout for initial apply.
  • #6509 Store Gateway: Remove memWriter from fileWriter to reduce memory usage when sync index headers.
  • #6556 Thanos compact: respect block-files-concurrency setting when downsampling
  • #6592 Query Frontend: fix bugs in vertical sharding without and union function to allow more queries to be shardable.
  • #6317 *: Fix internal label deduplication bug, by resorting store response set.
  • #6189 Rule: Fix panic when calling API /api/v1/rules?type=alert.

Changed

  • #6049 Compact: breaking ⚠️ Replace group with resolution in compact metrics to avoid cardinality explosion on compact metrics for large numbers of groups.
  • #6168 Receiver: Make ketama hashring fail early when configured with number of nodes lower than the replication factor.
  • #6201 Query-Frontend: Disable absent and absent_over_time for vertical sharding.
  • #6212 Query-Frontend: Disable scalar for vertical sharding.
  • #6107 breaking ⚠️ Change default user id in container image from 0(root) to 1001
  • #6228 Conditionally generate debug messages in ProxyStore to avoid memory bloat.
  • #6231 mixins: Add code/grpc-code dimension to error widgets.
  • #6244 mixin(Rule): Add rule evaluation failures to the Rule dashboard.
  • #6303 Store: added and start using streamed snappy encoding for postings list instead of block based one. This leads to constant memory usage during decompression. This approximately halves memory usage when decompressing a postings list in index cache.
  • #6071 Query Frontend: breaking ⚠️ Add experimental native histogram support for which we updated and aligned with the Prometheus common model, which is used for caching so a cache reset required.
  • #6163 Receiver: changed default max backoff from 30s to 5s for forwarding requests. Can be configured with --receive-forward-max-backoff.
  • #6327 *: breaking ⚠️ Use histograms instead of summaries for instrumented handlers.
  • #6322 Logging: Avoid expensive log.Valuer evaluation for disallowed levels.
  • #6358 Query: Add +Inf bucket to query duration metrics
  • #6363 Store: Check context error when expanding postings.
  • #6405 Index Cache: Change postings cache key to include the encoding format used so that older Thanos versions would not try to decode it during the deployment of a new version.
  • #6479 Store: breaking ⚠️ Rename thanos_bucket_store_cached_series_fetch_duration_seconds to thanos_bucket_store_series_fetch_duration_seconds and thanos_bucket_store_cached_postings_fetch_duration_seconds to thanos_bucket_store_postings_fetch_duration_seconds.
  • #6474 Store/Compact: Reduce a large amount of Exists API calls against object storage when synchronizing meta files in favour of a recursive Iter call.
  • #6548 Objstore: Bump minio-go to v7.0.61.
  • #6187 *: Unify gRPC flags for all servers.
  • #6267 Query: Support unicode external label truncation.
  • #6371 Query: Only keep name in UI store_matches param.
  • #6609 *: Bump go4.org/intern to fix Go 1.21 builds.

Removed

  • #6496 *: Remove unnecessary configuration reload from ContentPathReloader and improve its tests.
  • #6432 Receive: Remove duplicated gopkg.in/fsnotify.v1 dependency.
  • #6332 *: Remove unmaintained gzip dependency.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.31.0...v0.32.0

thanos - v0.32.0-rc.1

Published by saswatamcode about 1 year ago

  • #6612: Store: Fix missing flush when handling pushed down queries
thanos - v0.32.0-rc.0

Published by saswatamcode about 1 year ago

v0.32.0-rc.0 is out after a long wait, as we were busy fixing a rather challenging issue!
Thank you to all contributors who have contributed to this release. It wouldn't be possible without you.

Some of the highlights include support for PromQL query explanations in the UI when using the thanos PromQL engine, AZ-aware replication for Receive and other new flags, tools bucket replicate improvements, and lots of optimizations and bug/race fixes!
Do take note of some of the breaking metric name changes and the change in container image user.

You can find the changelog with all of the details below. Let's also celebrate all our new contributors!
Please try it out and let us know if you spot any problems! Full-release/next rc will be in 3 days!

Changes

Added

  • #6437 Receive: make tenant stats limit configurable
  • #6369 Receive: add az-aware replication support for Ketama algorithm
  • #6185 Tracing: tracing in OTLP support configuring service_name.
  • #6192 Store: add flag bucket-web-label to select the label to use as timeline title in web UI
  • #6195 Receive: add flag tsdb.too-far-in-future.time-window to prevent clock skewed samples to pollute TSDB head and block all valid incoming samples.
  • #6273 Mixin: Allow specifying an instance name filter in dashboards
  • #6163 Receiver: Add hidden flag --receive-forward-max-backoff to configure the max backoff for forwarding requests.
  • #5777 Receive: Allow specifying tenant-specific external labels in Router Ingestor.
  • #6352 Store: Expose store gateway query stats in series response hints.
  • #6420 Index Cache: Cache expanded postings.
  • #6441 Compact: Compactor will set index_stats in meta.json file with max series and chunk size information.
  • #6466 Mixin (Receive): add limits alerting for configuration reload and meta-monitoring.
  • #6467 Mixin (Receive): add alert for tenant reaching head series limit.
  • #6528 Index Cache: Add histogram metric thanos_store_index_cache_stored_data_size_bytes for item size.
  • #6560 Thanos ruler: add flag to optionally disable adding Thanos params when querying metrics
  • #6574 Tools: Add min and max compactions range flags to bucket replicate command.
  • #6593 Store: Add thanos_bucket_store_chunk_refetches_total metric to track number of chunk refetches.
  • #6264 Query: Add Thanos logo in navbar
  • #6234 Query: Add ability to switch between thanos and prometheus engines dynamically via UI and API.
  • #6346 Query: Add ability to generate SQL-like query explanations when thanos engine is used.

Fixed

  • #6503 *: Change the engine behind ContentPathReloader to be completely independent of any filesystem concept. This effectively fixes this configuration reload when used with Kubernetes ConfigMaps, Secrets, or other volume mounts.
  • #6456 Store: fix crash when computing set matches from regex pattern
  • #6427 Receive: increased log level for failed uploads to error
  • #6172 query-frontend: return JSON formatted errors for invalid PromQL expression in the split by interval middleware.
  • #6171 Store: fix error handling on limits.
  • #6183 Receiver: fix off by one in multitsdb flush that will result in empty blocks if the head only contains one sample
  • #6197 Exemplar OTel: Fix exemplar for otel to use traceId instead of spanId and sample only if trace is sampled
  • #6207 Receive: Remove the shipper once a tenant has been pruned.
  • #6216 Receiver: removed hard-coded value of EnableExemplarStorage flag and set it according to max-exemplar value.
  • #6222 mixin(Receive): Fix tenant series received dashboard widget.
  • #6218 mixin(Store): handle ResourceExhausted as a non-server error. As a consequence, this error won't contribute to Store's grpc errors alerts.
  • #6271 Receive: Fix segfault in LabelValues during head compaction.
  • #6306 Tracing: tracing in OTLP utilize the OTEL_TRACES_SAMPLER env variable
  • #6330 Store: Fix inconsistent error for series limits.
  • #6342 Cache/Redis: Upgrade rueidis to v1.0.2 to to improve error handling while shrinking a redis cluster.
  • #6325 Store: return gRPC resource exhausted error for byte limiter.
  • #6399 *: Fix double-counting bug in http_request_duration metric
  • #6428 Report gRPC connnection errors in the logs.
  • #6519 Reloader: Use timeout for initial apply.
  • #6509 Store Gateway: Remove memWriter from fileWriter to reduce memory usage when sync index headers.
  • #6556 Thanos compact: respect block-files-concurrency setting when downsampling
  • #6592 Query Frontend: fix bugs in vertical sharding without and union function to allow more queries to be shardable.
  • #6317 *: Fix internal label deduplication bug, by resorting store response set.
  • #6189 Rule: Fix panic when calling API /api/v1/rules?type=alert.

Changed

  • #6049 Compact: breaking ⚠️ Replace group with resolution in compact metrics to avoid cardinality explosion on compact metrics for large numbers of groups.
  • #6168 Receiver: Make ketama hashring fail early when configured with number of nodes lower than the replication factor.
  • #6201 Query-Frontend: Disable absent and absent_over_time for vertical sharding.
  • #6212 Query-Frontend: Disable scalar for vertical sharding.
  • #6107 breaking ⚠️ Change default user id in container image from 0(root) to 1001
  • #6228 Conditionally generate debug messages in ProxyStore to avoid memory bloat.
  • #6231 mixins: Add code/grpc-code dimension to error widgets.
  • #6244 mixin(Rule): Add rule evaluation failures to the Rule dashboard.
  • #6303 Store: added and start using streamed snappy encoding for postings list instead of block based one. This leads to constant memory usage during decompression. This approximately halves memory usage when decompressing a postings list in index cache.
  • #6071 Query Frontend: breaking ⚠️ Add experimental native histogram support for which we updated and aligned with the Prometheus common model, which is used for caching so a cache reset required.
  • #6163 Receiver: changed default max backoff from 30s to 5s for forwarding requests. Can be configured with --receive-forward-max-backoff.
  • #6327 *: breaking ⚠️ Use histograms instead of summaries for instrumented handlers.
  • #6322 Logging: Avoid expensive log.Valuer evaluation for disallowed levels.
  • #6358 Query: Add +Inf bucket to query duration metrics
  • #6363 Store: Check context error when expanding postings.
  • #6405 Index Cache: Change postings cache key to include the encoding format used so that older Thanos versions would not try to decode it during the deployment of a new version.
  • #6479 Store: breaking ⚠️ Rename thanos_bucket_store_cached_series_fetch_duration_seconds to thanos_bucket_store_series_fetch_duration_seconds and thanos_bucket_store_cached_postings_fetch_duration_seconds to thanos_bucket_store_postings_fetch_duration_seconds.
  • #6474 Store/Compact: Reduce a large amount of Exists API calls against object storage when synchronizing meta files in favour of a recursive Iter call.
  • #6548 Objstore: Bump minio-go to v7.0.61.
  • #6187 *: Unify gRPC flags for all servers.
  • #6267 Query: Support unicode external label truncation.
  • #6371 Query: Only keep name in UI store_matches param.
  • #6609 *: Bump go4.org/intern to fix Go 1.21 builds.

Removed

  • #6496 *: Remove unnecessary configuration reload from ContentPathReloader and improve its tests.
  • #6432 Receive: Remove duplicated gopkg.in/fsnotify.v1 dependency.
  • #6332 *: Remove unmaintained gzip dependency.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.31.0...v0.32.0-rc.0

thanos - v0.31.0

Published by fpetkovski over 1 year ago

What's Changed

Added

  • #5990 Cache/Redis: add support for Redis Sentinel via new option master_name.
  • #6008 *: Add counter metric gate_queries_total to gate.
  • #5926 Receiver: Add experimental string interning in writer. Can be enabled with a hidden flag --writer.intern.
  • #5773 Store: Support disabling cache index header file by setting --disable-caching-index-header-file. When toggled, Stores can run without needing persistent disks.
  • #5653 Receive: Allow setting hashing algorithm per tenant in hashrings config.
  • #6074 *: Add histogram metrics thanos_store_server_series_requested and thanos_store_server_chunks_requested to all Stores.
  • #6074 *: Allow configuring series and sample limits per Series request for all Stores.
  • #6104 Store: Support S3 session token.
  • #5548 Query: Add experimental support for load balancing across multiple Store endpoints.
  • #6148 Query-frontend: Add traceID to slow query detected log line.
  • #6153 Query-frontend: Add remote_user (from http basic auth) and remote_addr to slow query detected log line.

Fixed

  • #5995 Sidecar: Loads TLS certificate during startup.
  • #6044 Receive: Mark out-of-window errors as conflict when out-of-window samples ingestion is used.
  • #6050 Store: Re-try bucket store initial sync upon failure.
  • #6067 Receive: Fix panic when querying uninitialized TSDBs.
  • #6082 Query: Don't error when no stores are matched.
  • #6098 Cache/Redis: Upgrade rueidis to v0.0.93 to fix potential panic when the client-side caching is disabled.
  • #6103 Mixins(Rule): Fix expression for long rule evaluations.
  • #6121 Receive: Deduplicate meta-monitoring queries for Active Series Limiting.
  • #6137 Downsample: Repair of non-empty XOR chunks during 1h downsampling.
  • #6125 Query Frontend: Fix vertical shardable instant queries do not produce sorted results for sort, sort_desc, topk and bottomk functions.
  • #6203 Receive: Fix panic in head compaction under high query load.

Changed

  • #6010 *: Upgrade Prometheus to v0.42.0.
  • #5999 *: Upgrade Alertmanager dependency to v0.25.0.
  • #5887 Tracing: Make sure rate limiting sampler is the default, as was the case in version pre-0.29.0.
  • #5997 Rule: switch to miekgdns DNS resolver as the default one.
  • #6035 Tools (replicate): Support all types of matchers to match blocks for replication. Change matcher parameter from string slice to a single string.
  • #6131 Store: breaking ⚠️ Use Histograms instead of Summaries for bucket metrics.
thanos - v0.31.0-rc.1

Published by fpetkovski over 1 year ago

  • #6203 Receive: Fix panic in head compaction under high query load.
thanos - v0.31.0-rc.0

Published by fpetkovski over 1 year ago

What's Changed

Added

  • #5990 Cache/Redis: add support for Redis Sentinel via new option master_name.
  • #6008 *: Add counter metric gate_queries_total to gate.
  • #5926 Receiver: Add experimental string interning in writer. Can be enabled with a hidden flag --writer.intern.
  • #5773 Store: Support disabling cache index header file by setting --disable-caching-index-header-file. When toggled, Stores can run without needing persistent disks.
  • #5653 Receive: Allow setting hashing algorithm per tenant in hashrings config.
  • #6074 *: Add histogram metrics thanos_store_server_series_requested and thanos_store_server_chunks_requested to all Stores.
  • #6074 *: Allow configuring series and sample limits per Series request for all Stores.
  • #6104 Store: Support S3 session token.
  • #5548 Query: Add experimental support for load balancing across multiple Store endpoints.
  • #6148 Query-frontend: Add traceID to slow query detected log line.
  • #6153 Query-frontend: Add remote_user (from http basic auth) and remote_addr to slow query detected log line.

Fixed

  • #5995 Sidecar: Loads TLS certificate during startup.
  • #6044 Receive: Mark out-of-window errors as conflict when out-of-window samples ingestion is used.
  • #6050 Store: Re-try bucket store initial sync upon failure.
  • #6067 Receive: Fix panic when querying uninitialized TSDBs.
  • #6082 Query: Don't error when no stores are matched.
  • #6098 Cache/Redis: Upgrade rueidis to v0.0.93 to fix potential panic when the client-side caching is disabled.
  • #6103 Mixins(Rule): Fix expression for long rule evaluations.
  • #6121 Receive: Deduplicate meta-monitoring queries for Active Series Limiting.
  • #6137 Downsample: Repair of non-empty XOR chunks during 1h downsampling.
  • #6125 Query Frontend: Fix vertical shardable instant queries do not produce sorted results for sort, sort_desc, topk and bottomk functions.

Changed

  • #6010 *: Upgrade Prometheus to v0.42.0.
  • #5999 *: Upgrade Alertmanager dependency to v0.25.0.
  • #5887 Tracing: Make sure rate limiting sampler is the default, as was the case in version pre-0.29.0.
  • #5997 Rule: switch to miekgdns DNS resolver as the default one.
  • #6035 Tools (replicate): Support all types of matchers to match blocks for replication. Change matcher parameter from string slice to a single string.
  • #6131 Store: breaking ⚠️ Use Histograms instead of Summaries for bucket metrics.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.30.0...v0.31.0-rc.0

thanos - v0.30.2

Published by yeya24 over 1 year ago

What's Changed

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.30.1...v0.30.2

thanos - v0.30.1

Published by GiedriusS almost 2 years ago

This release contains a very small fix for the new Redis client. In the previous release, it was impossible to enable multiple caches using the new Redis client because it tries to register metrics more than once. As a result, for example, it was impossible to use Redis in Thanos Store with index cache and caching bucket enabled.

What's Changed

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

thanos - v0.30.0

Published by bwplotka almost 2 years 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

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