Skip to content

Commit f442b48

Browse files
committed
Merge remote-tracking branch 'upstream/master' into merge-release-1.19-to-master
Signed-off-by: Charlie Le <[email protected]>
2 parents babe421 + 89f36f6 commit f442b48

File tree

281 files changed

+14952
-3694
lines changed

Some content is hidden

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

281 files changed

+14952
-3694
lines changed

.github/workflows/scorecards.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
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: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ on:
1515

1616
jobs:
1717
lint:
18-
runs-on: ubuntu-20.04
18+
runs-on: ubuntu-24.04
1919
container:
2020
image: quay.io/cortexproject/build-image:master-03a8f8c98
2121
steps:
@@ -44,7 +44,7 @@ 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:
4949
image: quay.io/cortexproject/build-image:master-03a8f8c98
5050
steps:
@@ -62,7 +62,7 @@ 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:
6767
image: quay.io/cortexproject/build-image:master-03a8f8c98
6868
steps:
@@ -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,19 +93,19 @@ jobs:
9393

9494
# Initializes the CodeQL tools for scanning.
9595
- name: Initialize CodeQL
96-
uses: github/codeql-action/init@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
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@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
101+
uses: github/codeql-action/autobuild@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
102102

103103
- name: Perform CodeQL Analysis
104-
uses: github/codeql-action/analyze@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
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:
110110
image: quay.io/cortexproject/build-image:master-03a8f8c98
111111
steps:
@@ -150,7 +150,7 @@ jobs:
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
@@ -252,7 +252,7 @@ jobs:
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:
257257
image: quay.io/cortexproject/build-image:master-03a8f8c98
258258
steps:
@@ -294,7 +294,7 @@ 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:
299299
image: quay.io/cortexproject/build-image:master-03a8f8c98
300300
steps:

CHANGELOG.md

Lines changed: 19 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
# Changelog
22

33
## master / unreleased
4+
* [CHANGE] StoreGateway/Alertmanager: Add default 5s connection timeout on client. #6603
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
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+
* [FEATURE] Update prometheus alertmanager version to v0.28.0 and add new integration msteamsv2, jira, and rocketchat. #6590
8+
* [ENHANCEMENT] Alertmanager: Add new limits `-alertmanager.max-silences-count` and `-alertmanager.max-silences-size-bytes` for limiting silences per tenant. #6605
9+
* [ENHANCEMENT] Add `compactor.auto-forget-delay` for compactor to auto forget compactors after X minutes without heartbeat. #6533
10+
* [ENHANCEMENT] StoreGateway: Emit more histogram buckets on the `cortex_querier_storegateway_refetches_per_query` metric. #6570
11+
* [ENHANCEMENT] Querier: Apply bytes limiter to LabelNames and LabelValuesForLabelNames. #6568
12+
* [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
13+
* [ENHANCEMENT] Alertmanager: Add receiver validations for msteamsv2 and rocketchat. #6606
14+
* [BUGFIX] Ingester: Avoid error or early throttling when READONLY ingesters are present in the ring #6517
15+
* [BUGFIX] Ingester: Fix labelset data race condition. #6573
16+
* [BUGFIX] Compactor: Cleaner should not put deletion marker for blocks with no-compact marker. #6576
17+
* [BUGFIX] Compactor: Cleaner would delete bucket index when there is no block in bucket store. #6577
18+
* [BUGFIX] Querier: Fix marshal native histogram with empty bucket when protobuf codec is enabled. #6595
19+
* [BUGFIX] Query Frontend: Fix samples scanned and peak samples query stats when query hits results cache. #6591
20+
* [BUGFIX] Query Frontend: Fix panic caused by nil pointer dereference. #6609
421

522
## 1.19.0 in progress
623

@@ -14,15 +31,6 @@
1431
* [CHANGE] Enable Compactor and Alertmanager in target all. #6204
1532
* [CHANGE] Update the `cortex_ingester_inflight_push_requests` metric to represent the maximum number of inflight requests recorded in the last minute. #6437
1633
* [CHANGE] gRPC Client: Expose connection timeout and set default to value to 5s. #6523
17-
* [CHANGE] Enable analysis on Thanos PromQL engine #6472
18-
* [CHANGE] Log grafana headers along with query request before query execution #6391
19-
* [CHANGE] Log query requests in QFE before query execution #6390
20-
* [CHANGE] Log when a request starts running in querier #6525
21-
* [CHANGE] Remove openstack swfit experimental in blocks storage #6322
22-
* [CHANGE] Remove openstack swift experimental #6316
23-
* [CHANGE] Replace `cespare/xxhash` with `cespare/xxhash/v2` #6467
24-
* [CHANGE] Stop using global instant query codec #6328
25-
* [CHANGE] Unify query frontend instant and range protos #6180
2634
* [FEATURE] Ruler: Add an experimental flag `-ruler.query-response-format` to retrieve query response as a proto format. #6345
2735
* [FEATURE] Ruler: Pagination support for List Rules API. #6299
2836
* [FEATURE] Query Frontend/Querier: Add protobuf codec `-api.querier-default-codec` and the option to choose response compression type `-querier.response-compression`. #5527
@@ -35,13 +43,6 @@
3543
* [FEATURE] Query Frontend: Support a metadata federated query when `-tenant-federation.enabled=true`. #6461
3644
* [FEATURE] Query Frontend: Support an exemplar federated query when `-tenant-federation.enabled=true`. #6455
3745
* [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
38-
* [FEATURE] Add reason why the key was evicted in the `cortex_ingester_expanded_postings_cache_evicts` metric #6318
39-
* [FEATURE] Create feature flag to switch between current shuffle sharding group planner and partition compaction group planner #6141
40-
* [FEATURE] Hook up partition compaction end to end implementation #6510
41-
* [FEATURE] Implement partition compaction grouper #6172
42-
* [FEATURE] Implement partition compaction planner #6469
43-
* [FEATURE] Make LivenessCheck Timeout Configurable #6227
44-
* [FEATURE] Querier: Add day range limit for LabelNames and LabelValues #6233
4546
* [ENHANCEMENT] Query Frontend: Add more operation label values to the `cortex_query_frontend_queries_total` metric. #6519
4647
* [ENHANCEMENT] Query Frontend: Add a `source` label to query stat metrics. #6470
4748
* [ENHANCEMENT] Query Frontend: Add a flag `-tenant-federation.max-tenant` to limit the number of tenants for federated query. #6493
@@ -82,50 +83,14 @@
8283
* [ENHANCEMENT] Distributor: Added `cortex_distributor_received_samples_per_labelset_total` metric to calculate ingestion rate per label set. #6443
8384
* [ENHANCEMENT] Added metric name in limiter per-metric exceeded errors. #6416
8485
* [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
85-
* [ENHANCEMENT] Add cleaner logic to clean partition compaction blocks and related files #6507
86-
* [ENHANCEMENT] Add support for native histograms in querier protobuf codec #6368
87-
* [ENHANCEMENT] Add timeout on lifecycler heartbeat #6212
88-
* [ENHANCEMENT] Added UserReplicaGroupMetrics #6463
8986
* [ENHANCEMENT] Blocks Storage: Allow use of non-dualstack endpoints for S3 blocks storage via `-blocks-storage.s3.disable-dualstack`. #6522
90-
* [ENHANCEMENT] Discarded samples per labelset metrics for throttle by labelset #6492
91-
* [ENHANCEMENT] Expanded Postings Cache can cache results without the nearly created series under high load. #6417
92-
* [ENHANCEMENT] Ingester: Disable chunk trimming. #6270
93-
* [ENHANCEMENT] Improve consistency check warn log #6366
94-
* [ENHANCEMENT] Improve streaming on MetricsForLabelMatchersStream method #6436
95-
* [ENHANCEMENT] Improve validation metrics for discarded samples and exemplars #6218
96-
* [ENHANCEMENT] Query Frontend: add new field for dense native histogram format #6199
97-
* [ENHANCEMENT] Return 503 on hitting distributor instance limits #6387
98-
* [ENHANCEMENT] Reusing Batch Iterators #6403
99-
* [ENHANCEMENT] Reusing the grpc client to peform healthcheck #6260
100-
* [ENHANCEMENT] Store Gateway: Add pre add block ownership check #6483
101-
* [ENHANCEMENT] Use slice pooling to populate the query stream response #6466
102-
* [ENHANCEMENT] Using a single seed array for expanded postings cache on ingesters #6365
10387
* [BUGFIX] Runtime-config: Handle absolute file paths when working directory is not / #6224
10488
* [BUGFIX] Ruler: Allow rule evaluation to complete during shutdown. #6326
105-
* [BUGFIX] Ring: update ring with new ip address when instance is lost, rejoins, but heartbeat is disabled. #6271
89+
* [BUGFIX] Ring: update ring with new ip address when instance is lost, rejoins, but heartbeat is disabled. #6271
10690
* [BUGFIX] Ingester: Fix regression on usage of cortex_ingester_queried_chunks. #6398
10791
* [BUGFIX] Ingester: Fix possible race condition when `active series per LabelSet` is configured. #6409
10892
* [BUGFIX] Query Frontend: Fix @ modifier not being applied correctly on sub queries. #6450
10993
* [BUGFIX] Cortex Redis flags with multiple dots #6476
110-
* [BUGFIX] Bug fix on JSON Tag #6339
111-
* [BUGFIX] Calculate # of concurrency only once at the runner #6506
112-
* [BUGFIX] Clean up ingester per labelset metrics #6439
113-
* [BUGFIX] Cleanup dangling request queue metrics #6433
114-
* [BUGFIX] Fix BenchmarkDistributor_Push benchmark #6309
115-
* [BUGFIX] Fix data race on expanded postings Cache #6369
116-
* [BUGFIX] Fix lazy postings merge bug #6415
117-
* [BUGFIX] Fix race on chunks multilevel cache + Optimize to avoid refetching already found keys. #6312
118-
* [BUGFIX] Fix race on the string interning #6408
119-
* [BUGFIX] Fix race that can cause nil reference when using expanded postings #6518
120-
* [BUGFIX] Fix regression of query range result cache unable to parse old cached results #6196
121-
* [BUGFIX] Fix typo in usage message for querier.split-queries-by-interval flag #6305
122-
* [BUGFIX] Fix: PostingCache promise should fetch data only once #6314
123-
* [BUGFIX] Fix: fix slice init length #6237
124-
* [BUGFIX] Fixed bug that blocks cannot be fully deleted from TSDB #6231
125-
* [BUGFIX] Fixed ingester ReadOnly state related bugs #6208
126-
* [BUGFIX] Preserve ingester state on restart #6301
127-
* [BUGFIX] Purge expired postings cache items due inactivity #6502
128-
* [BUGFIX] Util: Check context every N iterations #6250
12994

13095
## 1.18.1 2024-10-14
13196

@@ -1225,7 +1190,7 @@ Note the blocks storage compactor runs a migration task at startup in this versi
12251190
* [ENHANCEMENT] Improve performance of QueryStream() in ingesters. #3177
12261191
* [ENHANCEMENT] Modules included in "All" target are now visible in output of `-modules` CLI flag. #3155
12271192
* [ENHANCEMENT] Added `/debug/fgprof` endpoint to debug running Cortex process using `fgprof`. This adds up to the existing `/debug/...` endpoints. #3131
1228-
* [ENHANCEMENT] Blocks storage: optimised `/api/v1/series` for blocks storage. #2976
1193+
* [ENHANCEMENT] Blocks storage: optimised `/api/v1/series` for blocks storage. (#2976)
12291194
* [BUGFIX] Ruler: when loading rules from "local" storage, check for directory after resolving symlink. #3137
12301195
* [BUGFIX] Query-frontend: Fixed rounding for incoming query timestamps, to be 100% Prometheus compatible. #2990
12311196
* [BUGFIX] Querier: Merge results from chunks and blocks ingesters when using streaming of results. #3013

MAINTAINERS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@
1313

1414
| Name | Email | GitHub | Company |
1515
|-----------------|----------------------------|-----------------|---------------------|
16-
| Sungjin Lee | [email protected] | @SungJin1212 | KakaoEnterprise |
1716
| Anand Rajagopal | [email protected] | @rajagopalanand | Amazon Web Services |
17+
| Sungjin Lee | [email protected] | @SungJin1212 | KakaoEnterprise |
18+
| Daniel Sabsay | [email protected] | @dsabsay | Adobe |

docs/blocks-storage/compactor.md

Lines changed: 9 additions & 0 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]

docs/blocks-storage/querier.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,11 @@ querier:
222222
# CLI flag: -querier.store-gateway-client.healthcheck.timeout
223223
[timeout: <duration> | default = 1s]
224224

225+
# The maximum amount of time to establish a connection. A value of 0 means
226+
# using default gRPC client connect timeout 5s.
227+
# CLI flag: -querier.store-gateway-client.connect-timeout
228+
[connect_timeout: <duration> | default = 5s]
229+
225230
# If enabled, store gateway query stats will be logged using `info` log level.
226231
# CLI flag: -querier.store-gateway-query-stats-enabled
227232
[store_gateway_query_stats: <boolean> | default = true]

docs/blocks-storage/store-gateway.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,10 @@ store_gateway:
240240
# CLI flag: -store-gateway.sharding-ring.dynamodb.max-cas-retries
241241
[max_cas_retries: <int> | default = 10]
242242

243+
# Timeout of dynamoDbClient requests. Default is 2m.
244+
# CLI flag: -store-gateway.sharding-ring.dynamodb.timeout
245+
[timeout: <duration> | default = 2m]
246+
243247
# The consul_config configures the consul client.
244248
# The CLI flags prefix for this block config is:
245249
# store-gateway.sharding-ring

0 commit comments

Comments
 (0)