Skip to content

Commit 18eff36

Browse files
authored
Merge branch 'master' into master
Signed-off-by: Ahmed Hassan <[email protected]>
2 parents 2f17a99 + 2a6dd6b commit 18eff36

File tree

225 files changed

+15940
-2412
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

225 files changed

+15940
-2412
lines changed

.github/workflows/build-image.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
fetch-depth: 0
2626

2727
- name: Set up QEMU
28-
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
28+
uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0
2929

3030
- name: Set up Docker Buildx
3131
uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0
@@ -34,7 +34,7 @@ jobs:
3434
run: make save-multiarch-build-image
3535

3636
- name: Upload Docker Images Artifacts
37-
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
37+
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
3838
with:
3939
name: build-image
4040
path: |

.github/workflows/scorecards.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
5656
# format to the repository Actions tab.
5757
- name: "Upload artifact"
58-
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v3.pre.node20
58+
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v3.pre.node20
5959
with:
6060
name: SARIF file
6161
path: results.sarif
@@ -64,6 +64,6 @@ jobs:
6464
# Upload the results to GitHub's code scanning dashboard (optional).
6565
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
6666
- name: "Upload to code-scanning"
67-
uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
67+
uses: github/codeql-action/upload-sarif@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
6868
with:
6969
sarif_file: results.sarif

.github/workflows/test-build-deploy.yml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ on:
1515

1616
jobs:
1717
lint:
18-
runs-on: ubuntu-20.04
18+
runs-on: ubuntu-24.04
1919
container:
20-
image: quay.io/cortexproject/build-image:master-0ddced051
20+
image: quay.io/cortexproject/build-image:master-03a8f8c98
2121
steps:
2222
- name: Checkout Repo
2323
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -44,9 +44,9 @@ jobs:
4444
run: make BUILD_IN_CONTAINER=false check-white-noise
4545

4646
test:
47-
runs-on: ubuntu-20.04
47+
runs-on: ubuntu-24.04
4848
container:
49-
image: quay.io/cortexproject/build-image:master-0ddced051
49+
image: quay.io/cortexproject/build-image:master-03a8f8c98
5050
steps:
5151
- name: Checkout Repo
5252
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -62,9 +62,9 @@ jobs:
6262
- name: Run Tests
6363
run: make BUILD_IN_CONTAINER=false test
6464
test-no-race:
65-
runs-on: ubuntu-20.04
65+
runs-on: ubuntu-24.04
6666
container:
67-
image: quay.io/cortexproject/build-image:master-0ddced051
67+
image: quay.io/cortexproject/build-image:master-03a8f8c98
6868
steps:
6969
- name: Checkout Repo
7070
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -82,7 +82,7 @@ jobs:
8282

8383
security:
8484
name: CodeQL
85-
runs-on: ubuntu-20.04
85+
runs-on: ubuntu-24.04
8686
permissions:
8787
actions: read
8888
contents: read
@@ -93,21 +93,21 @@ jobs:
9393

9494
# Initializes the CodeQL tools for scanning.
9595
- name: Initialize CodeQL
96-
uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
96+
uses: github/codeql-action/init@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
9797
with:
9898
languages: go
9999

100100
- name: Autobuild
101-
uses: github/codeql-action/autobuild@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
101+
uses: github/codeql-action/autobuild@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
102102

103103
- name: Perform CodeQL Analysis
104-
uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
104+
uses: github/codeql-action/analyze@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
105105

106106

107107
build:
108-
runs-on: ubuntu-20.04
108+
runs-on: ubuntu-24.04
109109
container:
110-
image: quay.io/cortexproject/build-image:master-0ddced051
110+
image: quay.io/cortexproject/build-image:master-03a8f8c98
111111
steps:
112112
- name: Checkout Repo
113113
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -131,7 +131,7 @@ jobs:
131131
touch build-image/.uptodate
132132
make BUILD_IN_CONTAINER=false web-build
133133
- name: Upload Website Artifact
134-
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
134+
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
135135
with:
136136
name: website public
137137
path: website/public/
@@ -143,14 +143,14 @@ jobs:
143143
- name: Create Docker Images Archive
144144
run: tar -cvf images.tar /tmp/images
145145
- name: Upload Docker Images Artifact
146-
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
146+
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
147147
with:
148148
name: Docker Images
149149
path: ./images.tar
150150

151151
integration:
152152
needs: build
153-
runs-on: ubuntu-20.04
153+
runs-on: ubuntu-24.04
154154
strategy:
155155
fail-fast: false
156156
matrix:
@@ -164,7 +164,7 @@ jobs:
164164
- integration_query_fuzz
165165
steps:
166166
- name: Upgrade golang
167-
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
167+
uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
168168
with:
169169
go-version: 1.23.2
170170
- name: Checkout Repo
@@ -230,7 +230,7 @@ jobs:
230230

231231
integration-configs-db:
232232
needs: build
233-
runs-on: ubuntu-20.04
233+
runs-on: ubuntu-24.04
234234
steps:
235235
- name: Checkout Repo
236236
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -247,14 +247,14 @@ jobs:
247247
run: |
248248
touch build-image/.uptodate
249249
MIGRATIONS_DIR=$(pwd)/cmd/cortex/migrations
250-
make BUILD_IMAGE=quay.io/cortexproject/build-image:master-0ddced051 TTY='' configs-integration-test
250+
make BUILD_IMAGE=quay.io/cortexproject/build-image:master-03a8f8c98 TTY='' configs-integration-test
251251
252252
deploy_website:
253253
needs: [build, test]
254254
if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.repository == 'cortexproject/cortex'
255-
runs-on: ubuntu-20.04
255+
runs-on: ubuntu-24.04
256256
container:
257-
image: quay.io/cortexproject/build-image:master-0ddced051
257+
image: quay.io/cortexproject/build-image:master-03a8f8c98
258258
steps:
259259
- name: Checkout Repo
260260
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -294,9 +294,9 @@ jobs:
294294
deploy:
295295
needs: [build, test, lint, integration, integration-configs-db]
296296
if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.repository == 'cortexproject/cortex'
297-
runs-on: ubuntu-20.04
297+
runs-on: ubuntu-24.04
298298
container:
299-
image: quay.io/cortexproject/build-image:master-0ddced051
299+
image: quay.io/cortexproject/build-image:master-03a8f8c98
300300
steps:
301301
- name: Checkout Repo
302302
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

CHANGELOG.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
# Changelog
22

33
## master / unreleased
4-
5-
* [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
4+
* [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
5+
* [ENHANCEMENT] Add `compactor.auto-forget-delay` for compactor to auto forget compactors after X minutes without heartbeat. #6533
6+
* [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
7+
* [ENHANCEMENT] StoreGateway: Emit more histogram buckets on the `cortex_querier_storegateway_refetches_per_query` metric. #6570
8+
* [ENHANCEMENT] Querier: Apply bytes limiter to LabelNames and LabelValuesForLabelNames. #6568
9+
* [ENHANCEMENT] Query Frontend: Add a `too_many_tenants` reason label value to `cortex_rejected_queries_total` metric to track the rejected query count due to the # of tenant limits. #6569
10+
* [BUGFIX] Ingester: Avoid error or early throttling when READONLY ingesters are present in the ring #6517
11+
* [BUGFIX] Ingester: Fix labelset data race condition. #6573
12+
* [BUGFIX] Compactor: Cleaner should not put deletion marker for blocks with no-compact marker. #6576
13+
* [BUGFIX] Compactor: Cleaner would delete bucket index when there is no block in bucket store. #6577
14+
15+
## 1.19.0 in progress
16+
17+
* [CHANGE] Deprecate `-blocks-storage.tsdb.wal-compression-enabled` flag (use `blocks-storage.tsdb.wal-compression-type` instead). #6529
618
* [CHANGE] OTLP: Change OTLP handler to be consistent with the Prometheus OTLP handler. #6272
719
- `target_info` metric is enabled by default and can be disabled via `-distributor.otlp.disable-target-info=true` flag
820
- Convert all attributes to labels is disabled by default and can be enabled via `-distributor.otlp.convert-all-attributes=true` flag
@@ -11,6 +23,8 @@
1123
* [CHANGE] Change default value of `-blocks-storage.bucket-store.index-cache.multilevel.max-async-concurrency` from `50` to `3` #6265
1224
* [CHANGE] Enable Compactor and Alertmanager in target all. #6204
1325
* [CHANGE] Update the `cortex_ingester_inflight_push_requests` metric to represent the maximum number of inflight requests recorded in the last minute. #6437
26+
* [CHANGE] gRPC Client: Expose connection timeout and set default to value to 5s. #6523
27+
* [FEATURE] Ruler: Add an experimental flag `-ruler.query-response-format` to retrieve query response as a proto format. #6345
1428
* [FEATURE] Ruler: Pagination support for List Rules API. #6299
1529
* [FEATURE] Query Frontend/Querier: Add protobuf codec `-api.querier-default-codec` and the option to choose response compression type `-querier.response-compression`. #5527
1630
* [FEATURE] Ruler: Experimental: Add `ruler.frontend-address` to allow query to query frontends instead of ingesters. #6151
@@ -19,6 +33,12 @@
1933
* [FEATURE] Chunk Cache: Support multi level cache and add metrics. #6249
2034
* [FEATURE] Distributor: Accept multiple HA Tracker pairs in the same request. #6256
2135
* [FEATURE] Ruler: Add support for per-user external labels #6340
36+
* [FEATURE] Query Frontend: Support a metadata federated query when `-tenant-federation.enabled=true`. #6461
37+
* [FEATURE] Query Frontend: Support an exemplar federated query when `-tenant-federation.enabled=true`. #6455
38+
* [FEATURE] Ingester/StoreGateway: Add support for cache regex query matchers via `-ingester.matchers-cache-max-items` and `-blocks-storage.bucket-store.matchers-cache-max-items`. #6477 #6491
39+
* [ENHANCEMENT] Query Frontend: Add more operation label values to the `cortex_query_frontend_queries_total` metric. #6519
40+
* [ENHANCEMENT] Query Frontend: Add a `source` label to query stat metrics. #6470
41+
* [ENHANCEMENT] Query Frontend: Add a flag `-tenant-federation.max-tenant` to limit the number of tenants for federated query. #6493
2242
* [ENHANCEMENT] Querier: Add a `-tenant-federation.max-concurrent` flags to configure the number of worker processing federated query and add a `cortex_querier_federated_tenants_per_query` histogram to track the number of tenants per query. #6449
2343
* [ENHANCEMENT] Query Frontend: Add a number of series in the query response to the query stat log. #6423
2444
* [ENHANCEMENT] Store Gateway: Add a hedged request to reduce the tail latency. #6388
@@ -54,13 +74,16 @@
5474
* [ENHANCEMENT] Ingester: If a limit per label set entry doesn't have any label, use it as the default partition to catch all series that doesn't match any other label sets entries. #6435
5575
* [ENHANCEMENT] Querier: Add new `cortex_querier_codec_response_size` metric to track the size of the encoded query responses from queriers. #6444
5676
* [ENHANCEMENT] Distributor: Added `cortex_distributor_received_samples_per_labelset_total` metric to calculate ingestion rate per label set. #6443
77+
* [ENHANCEMENT] Added metric name in limiter per-metric exceeded errors. #6416
5778
* [ENHANCEMENT] StoreGateway: Added `cortex_bucket_store_indexheader_load_duration_seconds` and `cortex_bucket_store_indexheader_download_duration_seconds` metrics for time of downloading and loading index header files. #6445
79+
* [ENHANCEMENT] Blocks Storage: Allow use of non-dualstack endpoints for S3 blocks storage via `-blocks-storage.s3.disable-dualstack`. #6522
5880
* [BUGFIX] Runtime-config: Handle absolute file paths when working directory is not / #6224
5981
* [BUGFIX] Ruler: Allow rule evaluation to complete during shutdown. #6326
6082
* [BUGFIX] Ring: update ring with new ip address when instance is lost, rejoins, but heartbeat is disabled. #6271
6183
* [BUGFIX] Ingester: Fix regression on usage of cortex_ingester_queried_chunks. #6398
6284
* [BUGFIX] Ingester: Fix possible race condition when `active series per LabelSet` is configured. #6409
6385
* [BUGFIX] Query Frontend: Fix @ modifier not being applied correctly on sub queries. #6450
86+
* [BUGFIX] Cortex Redis flags with multiple dots #6476
6487

6588
## 1.18.1 2024-10-14
6689

MAINTAINERS.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
### Triaggers
1212

1313

14-
| Name | Email | GitHub | Company |
15-
|-------------|----------------------|--------------|-----------------|
16-
| Sungjin Lee | [email protected] | @SungJin1212 | KakaoEnterprise |
14+
| Name | Email | GitHub | Company |
15+
|-----------------|----------------------------|-----------------|---------------------|
16+
| Sungjin Lee | [email protected] | @SungJin1212 | KakaoEnterprise |
17+
| Anand Rajagopal | [email protected] | @rajagopalanand | Amazon Web Services |

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ build-image/$(UPTODATE): build-image/*
115115
SUDO := $(shell docker info >/dev/null 2>&1 || echo "sudo -E")
116116
BUILD_IN_CONTAINER := true
117117
BUILD_IMAGE ?= $(IMAGE_PREFIX)build-image
118-
LATEST_BUILD_IMAGE_TAG ?= master-ac7827fa9
118+
LATEST_BUILD_IMAGE_TAG ?= master-03a8f8c98
119119

120120
# TTY is parameterized to allow Google Cloud Builder to run builds,
121121
# as it currently disallows TTY devices. This value needs to be overridden

RELEASE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ Our goal is to provide a new minor release every 6 weeks. This is a new process
3434
| v1.16.0 | 2023-11-05 | Ben Ye (@yeya24) |
3535
| v1.17.0 | 2024-04-25 | Ben Ye (@yeya24) |
3636
| v1.18.0 | 2024-08-16 | Daniel Blando (@danielblando) |
37-
| v1.19.0 | 2025-01-15 | Charlie Le (@charlietle) |
37+
| v1.19.0 | 2025-01-22 | Charlie Le (@charlietle) |
3838

3939
## Release shepherd responsibilities
4040

4141
The release shepherd is responsible for the entire release series of a minor release, meaning all pre- and patch releases of a minor release. The process formally starts with the initial pre-release, but some preparations should be done a few days in advance.
4242

4343
* We aim to keep the master branch in a working state at all times. In principle, it should be possible to cut a release from master at any time. In practice, things might not work out as nicely. A few days before the pre-release is scheduled, the shepherd should check the state of master. Following their best judgement, the shepherd should try to expedite bug fixes that are still in progress but should make it into the release. On the other hand, the shepherd may hold back merging last-minute invasive and risky changes that are better suited for the next minor release.
4444
* On the date listed in the table above, the release shepherd cuts the first pre-release (using the suffix `-rc.0`) and creates a new branch called `release-<major>.<minor>` starting at the commit tagged for the pre-release. In general, a pre-release is considered a release candidate (that's what `rc` stands for) and should therefore not contain any known bugs that are planned to be fixed in the final release.
45-
* With the pre-release, the release shepherd is responsible for coordinating or running the release candidate in any [end user](https://github.com/cortexproject/cortex/blob/master/ADOPTERS.md) production environment for 3 days. This is typically done in Grafana Labs or Weaveworks but we are looking for more volunteers!
45+
* With the pre-release, the release shepherd is responsible for coordinating or running the release candidate in any [end user](https://github.com/cortexproject/cortex/blob/master/ADOPTERS.md) production environment for 3 days.
4646
* If regressions or critical bugs are detected, they need to get fixed before cutting a new pre-release (called `-rc.1`, `-rc.2`, etc.).
4747

4848
See the next section for details on cutting an individual release.

docs/blocks-storage/compactor.md

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,10 @@ compactor:
225225
# CLI flag: -compactor.ring.dynamodb.max-cas-retries
226226
[max_cas_retries: <int> | default = 10]
227227

228+
# Timeout of dynamoDbClient requests. Default is 2m.
229+
# CLI flag: -compactor.ring.dynamodb.timeout
230+
[timeout: <duration> | default = 2m]
231+
228232
# The consul_config configures the consul client.
229233
# The CLI flags prefix for this block config is: compactor.ring
230234
[consul: <consul_config>]
@@ -259,6 +263,11 @@ compactor:
259263
# CLI flag: -compactor.ring.heartbeat-timeout
260264
[heartbeat_timeout: <duration> | default = 1m]
261265

266+
# Time since last heartbeat before compactor will be removed from ring. 0 to
267+
# disable
268+
# CLI flag: -compactor.auto-forget-delay
269+
[auto_forget_delay: <duration> | default = 2m]
270+
262271
# Minimum time to wait for ring stability at startup. 0 to disable.
263272
# CLI flag: -compactor.ring.wait-stability-min-duration
264273
[wait_stability_min_duration: <duration> | default = 1m]
@@ -285,19 +294,25 @@ compactor:
285294
# CLI flag: -compactor.ring.wait-active-instance-timeout
286295
[wait_active_instance_timeout: <duration> | default = 10m]
287296

297+
# How long shuffle sharding planner would wait before running planning code.
298+
# This delay would prevent double compaction when two compactors claimed same
299+
# partition in grouper at same time.
300+
# CLI flag: -compactor.sharding-planner-delay
301+
[sharding_planner_delay: <duration> | default = 10s]
302+
288303
# The compaction strategy to use. Supported values are: default, partitioning.
289-
# CLI flag: -compactor.compaction-mode
290-
[compaction_mode: <string> | default = "default"]
304+
# CLI flag: -compactor.compaction-strategy
305+
[compaction_strategy: <string> | default = "default"]
291306

292-
# How long block visit marker file should be considered as expired and able to
293-
# be picked up by compactor again.
294-
# CLI flag: -compactor.block-visit-marker-timeout
295-
[block_visit_marker_timeout: <duration> | default = 5m]
307+
# How long compaction visit marker file should be considered as expired and
308+
# able to be picked up by compactor again.
309+
# CLI flag: -compactor.compaction-visit-marker-timeout
310+
[compaction_visit_marker_timeout: <duration> | default = 10m]
296311

297-
# How frequently block visit marker file should be updated duration
312+
# How frequently compaction visit marker file should be updated duration
298313
# compaction.
299-
# CLI flag: -compactor.block-visit-marker-file-update-interval
300-
[block_visit_marker_file_update_interval: <duration> | default = 1m]
314+
# CLI flag: -compactor.compaction-visit-marker-file-update-interval
315+
[compaction_visit_marker_file_update_interval: <duration> | default = 1m]
301316

302317
# How long cleaner visit marker file should be considered as expired and able
303318
# to be picked up by cleaner again. The value should be smaller than

0 commit comments

Comments
 (0)