Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
5e6fe71
Delete prefix blocks_meta for meta fetcher metrics (#6832)
SungJin1212 Jun 20, 2025
6dbc78c
Allow store gateway to ignore syncing blocks older than certain time …
yeya24 Jun 20, 2025
bf88f67
Introduce a regex tenant resolver (#6713)
SungJin1212 Jun 22, 2025
e551a2e
Unify chunks and metadata cache backend to bucket cache (#6829)
yeya24 Jun 23, 2025
f9fc11c
Split compactor cleaner metrics (#6827)
danielblando Jun 23, 2025
493493d
Add nativeHistogram IngestionRate limit (#6794)
PaurushGarg Jun 24, 2025
bd2bebf
Add native histogram max sample size limit validation (#6834)
PaurushGarg Jun 24, 2025
7640265
Update GRPC (#6808)
alanprot Jun 26, 2025
16a2f54
Add response compression wrapper for query api (#6844)
afhassan Jun 27, 2025
f236c52
refactor: delete a NumOverrides error (#6837)
SungJin1212 Jun 29, 2025
7f107fe
Add tenantID validation to regex validator (#6836)
SungJin1212 Jun 29, 2025
6c7457d
Updating Prometheus and Thanos (#6843)
alanprot Jun 30, 2025
03c5e49
Implement maxTanant lmit on regex matcher (#6845)
SungJin1212 Jun 30, 2025
7435394
add parquet labels cache (#6835)
yeya24 Jun 30, 2025
10c9dd9
promote SungJin1212 to maintainer (#6852)
yeya24 Jun 30, 2025
f8260cd
Add active series limit for Native Histogram (#6796)
PaurushGarg Jun 30, 2025
14467e4
remove duplicate RingMock (#6856)
yiyang5055 Jul 1, 2025
cc202c7
Fixed memory leak in PushStream caused by reusing context (#6854)
alexqyle Jul 1, 2025
3e845a4
Created new grpc instrument to record stream push metrics (#6855)
alexqyle Jul 2, 2025
e77aada
Change prometheus test in e2e test to v3.3.1 (#6860)
SungJin1212 Jul 3, 2025
e4b0f1b
Fix YAML definition to NH docs (#6861)
SungJin1212 Jul 7, 2025
91b1377
Updating parquet common to latest (#6866)
alanprot Jul 8, 2025
4457537
Add a cortex_slow_queries_total to track # of slow queries (#6859)
SungJin1212 Jul 8, 2025
3fabbce
Ignore permission denied error in parquet converter (#6867)
yeya24 Jul 8, 2025
93b1975
Bump github.com/thanos-io/thanos (#6858)
dependabot[bot] Jul 10, 2025
0b02a77
Bump the actions-dependencies group across 1 directory with 2 updates…
dependabot[bot] Jul 10, 2025
4c0957a
Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#6847)
dependabot[bot] Jul 10, 2025
ee87d7e
Fix flaky TestBasicLifecycler_HeartbeatWhileStopping (#6872)
SungJin1212 Jul 10, 2025
aea76ee
Bug fix: Avoid race condition by deduplicating entries in bucket stor…
justinjung04 Jul 11, 2025
5bb96d0
Add proposal for user overrides API (#6818)
bogdan-st Jul 11, 2025
3ba0eb9
Add query limiter support to parquet querier (#6870)
yeya24 Jul 11, 2025
960b372
Proposal for distributed query execution (#6789)
harry671003 Jul 11, 2025
8cedb94
Fix cachedScanner concurrent scan (#6882)
SungJin1212 Jul 15, 2025
f7d19ca
use go1.24 in GH integ test (#6883)
yeya24 Jul 15, 2025
cc48e77
Do not use buffer pool when message is not releasable (#6881)
alanprot Jul 16, 2025
f0e0a3a
docs: Add warning for inmemory ha-tracker to clarify its usage (#6891)
siddarth2810 Jul 18, 2025
f32dd0f
update parquet common to latest main (#6896)
yeya24 Jul 21, 2025
af7aca6
Bump github.com/thanos-io/thanos from 0.39.1 to 0.39.2 (#6899)
dependabot[bot] Jul 22, 2025
69ac3d1
change to check config load validation only for some targets (#6880)
SungJin1212 Jul 23, 2025
dd7f16b
New metric for ingester errors (#6901)
danielblando Jul 23, 2025
52a833c
Add test to verify query response compression (#6849) (#6877)
siddarth2810 Jul 23, 2025
328bc3b
Add support for /api/v1/format_query API (#6893)
siddarth2810 Jul 23, 2025
6b3bd7b
Query Frontend For Logical Query Plan Support (#6884)
rubywtl Jul 24, 2025
9861229
Add zone label to ring_members metric. (#6900)
alexqyle Jul 24, 2025
956ce98
add query frontend response compression integration test (#6909)
afhassan Jul 25, 2025
ca36512
Querier: Support configuring optimizers and XFunctions (#6873)
harry671003 Jul 26, 2025
8769609
docs: fix typos in architecture.md
CharlieTLe Jul 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@18ce135bb5112fa8ce4ed6c17ab05699d7f3a5e0 # v3.11.0
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1

- name: Save image
run: make save-multiarch-build-image
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
sarif_file: results.sarif
8 changes: 4 additions & 4 deletions .github/workflows/test-build-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,15 +93,15 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
uses: github/codeql-action/init@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
languages: go

- name: Autobuild
uses: github/codeql-action/autobuild@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
uses: github/codeql-action/autobuild@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
uses: github/codeql-action/analyze@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2


build:
Expand Down Expand Up @@ -166,7 +166,7 @@ jobs:
- name: Upgrade golang
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.2
go-version: 1.24.0
- name: Checkout Repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install Docker Client
Expand Down
24 changes: 22 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Changelog

## master / unreleased
* [CHANGE] Ingester: Remove EnableNativeHistograms config flag and instead gate keep through new per-tenant limit at ingestion. #6718
* [FEATURE] Query Frontend: Add support /api/v1/format_query API for formatting queries. #6893
* [CHANGE] StoreGateway/Alertmanager: Add default 5s connection timeout on client. #6603
* [CHANGE] Ingester: Remove EnableNativeHistograms config flag and instead gate keep through new per-tenant limit at ingestion. #6718
* [CHANGE] Validate a tenantID when to use a single tenant resolver. #6727
* [FEATURE] Query Frontend: Add dynamic interval size for query splitting. This is enabled by configuring experimental flags `querier.max-shards-per-query` and/or `querier.max-fetched-data-duration-per-query`. The split interval size is dynamically increased to maintain a number of shards and total duration fetched below the configured values. #6458
* [FEATURE] Querier/Ruler: Add `query_partial_data` and `rules_partial_data` limits to allow queries/rules to be evaluated with data from a single zone, if other zones are not available. #6526
Expand All @@ -11,10 +12,16 @@
* [FEATURE] Ingester: Support out-of-order native histogram ingestion. It automatically enabled when `-ingester.out-of-order-time-window > 0` and `-blocks-storage.tsdb.enable-native-histograms=true`. #6626 #6663
* [FEATURE] Ruler: Add support for percentage based sharding for rulers. #6680
* [FEATURE] Ruler: Add support for group labels. #6665
* [FEATURE] Query federation: Introduce a regex tenant resolver to allow regex in `X-Scope-OrgID` value. #6713
- Add an experimental `tenant-federation.regex-matcher-enabled` flag. If it enabled, user can input regex to `X-Scope-OrgId`, the matched tenantIDs are automatically involved. The user discovery is based on scanning block storage, so new users can get queries after uploading a block (generally 2h).
- Add an experimental `tenant-federation.user-sync-interval` flag, it specifies how frequently to scan users. The scanned users are used to calculate matched tenantIDs.
* [FEATURE] Experimental Support Parquet format: Implement parquet converter service to convert a TSDB block into Parquet and Parquet Queryable. #6716 #6743
* [FEATURE] Distributor/Ingester: Implemented experimental feature to use gRPC stream connection for push requests. This can be enabled by setting `-distributor.use-stream-push=true`. #6580
* [FEATURE] Compactor: Add support for percentage based sharding for compactors. #6738
* [FEATURE] Querier: Allow choosing PromQL engine via header. #6777
* [FEATURE] Querier: Support for configuring query optimizers and enabling XFunctions in the Thanos engine. #6873
* [ENHANCEMENT] Tenant Federation: Add a # of query result limit logic when the `-tenant-federation.regex-matcher-enabled` is enabled. #6845
* [ENHANCEMENT] Query Frontend: Add a `cortex_slow_queries_total` metric to track # of slow queries per user. #6859
* [ENHANCEMENT] Query Frontend: Change to return 400 when the tenant resolving fail. #6715
* [ENHANCEMENT] Querier: Support query parameters to metadata api (/api/v1/metadata) to allow user to limit metadata to return. Add a `-ingester.return-all-metadata` flag to make the metadata API run when the deployment. Please set this flag to `false` to use the metadata API with the limits later. #6681 #6744
* [ENHANCEMENT] Ingester: Add a `cortex_ingester_active_native_histogram_series` metric to track # of active NH series. #6695
Expand All @@ -34,15 +41,25 @@
* [ENHANCEMENT] Querier: Add metric and enhanced logging for query partial data. #6676
* [ENHANCEMENT] Ingester: Push request should fail when label set is out of order #6746
* [ENHANCEMENT] Querier: Add `querier.ingester-query-max-attempts` to retry on partial data. #6714
* [ENHANCEMENT] Distributor: Add min/max schema validation for NativeHistograms. #6766
* [ENHANCEMENT] Distributor: Add min/max schema validation for Native Histogram. #6766
* [ENHANCEMENT] Ingester: Handle runtime errors in query path #6769
* [ENHANCEMENT] Compactor: Support metadata caching bucket for Cleaner. Can be enabled via `-compactor.cleaner-caching-bucket-enabled` flag. #6778
* [ENHANCEMENT] Distributor: Add ingestion rate limit for Native Histogram. #6794
* [ENHANCEMENT] Ingester: Add active series limit specifically for Native Histogram. #6796
* [ENHANCEMENT] Compactor, Store Gateway: Introduce user scanner strategy and user index. #6780
* [ENHANCEMENT] Querier: Support chunks cache for parquet queryable. #6805
* [ENHANCEMENT] Parquet Storage: Add some metrics for parquet blocks and converter. #6809 #6821
* [ENHANCEMENT] Compactor: Optimize cleaner run time. #6815
* [ENHANCEMENT] Parquet Storage: Allow percentage based dynamic shard size for Parquet Converter. #6817
* [ENHANCEMENT] Query Frontend: Enhance the performance of the JSON codec. #6816
* [ENHANCEMENT] Compactor: Emit partition metrics separate from cleaner job. #6827
* [ENHANCEMENT] Metadata Cache: Support inmemory and multi level cache backend. #6829
* [ENHANCEMENT] Store Gateway: Allow to ignore syncing blocks older than certain time using `ignore_blocks_before`. #6830
* [ENHANCEMENT] Distributor: Add native histograms max sample size bytes limit validation. #6834
* [ENHANCEMENT] Querier: Support caching parquet labels file in parquet queryable. #6835
* [ENHANCEMENT] Querier: Support query limits in parquet queryable. #6870
* [ENHANCEMENT] Ring: Add zone label to ring_members metric. #6900
* [ENHANCEMENT] Ingester: Add new metric `cortex_ingester_push_errors_total` to track reasons for ingester request failures. #6901
* [BUGFIX] Ingester: Avoid error or early throttling when READONLY ingesters are present in the ring #6517
* [BUGFIX] Ingester: Fix labelset data race condition. #6573
* [BUGFIX] Compactor: Cleaner should not put deletion marker for blocks with no-compact marker. #6576
Expand All @@ -59,6 +76,9 @@
* [BUGFIX] Fix race condition in active user. #6773
* [BUGFIX] Ruler: Prevent counting 2xx and 4XX responses as failed writes. #6785
* [BUGFIX] Ingester: Allow shipper to skip corrupted blocks. #6786
* [BUGFIX] Compactor: Delete the prefix `blocks_meta` from the metadata fetcher metrics. #6832
* [BUGFIX] Store Gateway: Avoid race condition by deduplicating entries in bucket stores user scan. #6863
* [BUGFIX] Runtime-config: Change to check tenant limit validation when loading runtime config only for `all`, `distributor`, `querier`, and `ruler` targets. #6880

## 1.19.0 2025-02-27

Expand Down
2 changes: 1 addition & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
| Charlie Le | [email protected] | @CharlieTLe | Apple |
| Daniel Blando | [email protected] | @danielblando | Amazon Web Services |
| Friedrich Gonzalez | [email protected] | @friedrichg | Apple |
| Sungjin Lee | [email protected] | @SungJin1212 | KakaoEnterprise |

### Triagers


| Name | Email | GitHub | Company |
|-----------------|----------------------------|-----------------|---------------------|
| Anand Rajagopal | [email protected] | @rajagopalanand | Amazon Web Services |
| Sungjin Lee | [email protected] | @SungJin1212 | KakaoEnterprise |
| Daniel Sabsay | [email protected] | @dsabsay | Adobe |
16 changes: 16 additions & 0 deletions docs/api/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ For the sake of clarity, in this document we have grouped API endpoints by servi
| [Instant query](#instant-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/query` |
| [Range query](#range-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/query_range` |
| [Exemplar query](#exemplar-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/query_exemplars` |
| [Format query](#format-query) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/format-query` |
| [Get series by label matchers](#get-series-by-label-matchers) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/series` |
| [Get label names](#get-label-names) | Querier, Query-frontend || `GET,POST <prometheus-http-prefix>/api/v1/labels` |
| [Get label values](#get-label-values) | Querier, Query-frontend || `GET <prometheus-http-prefix>/api/v1/label/{name}/values` |
Expand Down Expand Up @@ -368,6 +369,21 @@ _For more information, please check out the Prometheus [exemplar query](https://

_Requires [authentication](#authentication)._

### Format query

```
GET,POST <prometheus-http-prefix>/api/v1/format_query

# Legacy
GET,POST <legacy-http-prefix>/api/v1/format_query
```

Prometheus-compatible format query endpoint. The endpoint formats a PromQL expression in a prettified way.

_For more information, please check out the Prometheus [fomatting query expressions](https://prometheus.io/docs/prometheus/latest/querying/api/#formatting-query-expressions) documentation._

_Requires [authentication](#authentication)._

### Get series by label matchers

```
Expand Down
Loading