Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ACM Obs bot] Bump stolostron/thanos to v0.35.1 #128

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
852 commits
Select commit Hold shift + click to select a range
d3a4684
CI: increase e2e test parallelism (#6875)
MichaHoffmann Nov 19, 2023
68bef3f
compact: hook nodownsamplemarkfilter into filters chain (#6893)
GiedriusS Nov 19, 2023
2ed48f7
e2e/compact: fix assertion values (#6909)
GiedriusS Nov 20, 2023
67545e6
exposes asyncOperationProcessor (#6908)
yeya24 Nov 20, 2023
19bbe2e
Removed the gitpod from the contribution.md (#6907)
MeenuyD Nov 20, 2023
5c1169c
.circleci: cache tool deps (#6910)
GiedriusS Nov 20, 2023
0a4f5ae
MAINTAINERS.md: add myself as maintainer (#6911)
MichaHoffmann Nov 20, 2023
7efeb2a
blog: Introducing ThanosCon in Paris KubeCon EU 2024 (#6912)
saswatamcode Nov 20, 2023
c67f5a7
Update 2023-20-11-thanoscon.md (typo) (#6915)
bwplotka Nov 20, 2023
edfdc13
Added info about ThanosCon to website and Readme. (#6917)
bwplotka Nov 21, 2023
053bd4a
Objstore: Bump Objstore for Azure Workload Identity support (#6891)
rikhil-s Nov 15, 2023
d7ad77e
update compactor backlog doc for checking halt (#6906)
yeya24 Nov 22, 2023
4db836f
Update LabyrintLabs logo
martinhaus Nov 23, 2023
b5ff094
Merge pull request #6920 from lablabs/main
fpetkovski Nov 23, 2023
dc79d57
Merge pull request #6919 from MichaHoffmann/mhoffm-release-0-33-cherr…
MichaHoffmann Nov 24, 2023
023faa2
Support reload using signal (#6453)
simonpasquier Nov 24, 2023
9d6f82e
Support float histogram in store gateway (#6925)
yeya24 Nov 27, 2023
5f9f166
chore: add truelayer to the adopters (#6933)
mercxry Nov 27, 2023
8ffb9da
Fetcher: Add a BlockIDsFetcher Interface to BaseFetcher (#6902)
wenxu1024 Nov 27, 2023
0d254c9
Update hugo file (#6927)
kartikaysaxena Nov 28, 2023
d69430d
Updates busybox SHA (#6897) (#6937)
MichaHoffmann Nov 28, 2023
463dd48
Fix hotstar logo (#6938)
kartikaysaxena Nov 28, 2023
a2717d8
errutil: fix deadlock
GiedriusS Dec 1, 2023
e78091b
Merge pull request #6949 from thanos-io/fix_errutil_deadlock
MichaHoffmann Dec 1, 2023
7f734b9
update runtime/CloseWithErrCapture comment (#6952)
sagnik3788 Dec 3, 2023
2de1266
Added a new flag for maximum retention bytes for thanos (#6944)
kartikaysaxena Dec 3, 2023
5191d72
fix store gateway span name (#6953)
yeya24 Dec 4, 2023
42f4de4
Upgrade prometheus to latest main (#6950)
yeya24 Dec 4, 2023
28407d6
Improve filtered index cache filtering (#6955)
yeya24 Dec 4, 2023
e578b1f
store: fix misc label_value issues related to external labels (#6879)
MichaHoffmann Dec 5, 2023
a307d60
receive: fix adding fields to logger
GiedriusS Dec 5, 2023
1bcfec0
Merge pull request #6964 from thanos-io/handler_fix_tags
MichaHoffmann Dec 5, 2023
36ce448
Copy labels coming from remote engines (#6957)
fpetkovski Dec 6, 2023
5cef7d9
Add tracing index cache (#6954)
yeya24 Dec 6, 2023
e7aecb4
Change order of log for finished compacting blocks (#6966)
danielblando Dec 7, 2023
07e43ca
Update MAINTAINERS.md (#6967)
matej-g Dec 7, 2023
5d4fc6d
Add `keep_firing_for` support to alerting rule (#6943)
JHeilCoveo Dec 7, 2023
32f227a
Use registerer for gRPC opts and endpoints (#6971)
fpetkovski Dec 8, 2023
7b8eb86
receive: upload compacted blocks if OOO enabled (#6974)
GiedriusS Dec 12, 2023
fc1a6ed
Add streaming series limit at block series client (#6972)
yeya24 Dec 12, 2023
61dc2b9
Updated the defaultChecked property in checkbox element (#6976)
lpreethvika Dec 14, 2023
88f7119
Update prometheus to d0c2d9c (#6978)
fpetkovski Dec 14, 2023
96b8dba
Updates busybox SHA (#6982)
github-actions[bot] Dec 15, 2023
1fbd4e6
Updates busybox SHA (#6982)
github-actions[bot] Dec 15, 2023
4aea454
VERSION: Bump version for release
MichaHoffmann Dec 17, 2023
0f025f1
Merge pull request #6986 from thanos-io/mhoffm-release-0-33
MichaHoffmann Dec 17, 2023
5e672e5
Merge remote-tracking branch 'origin/main' into merge-release-0.33-to…
MichaHoffmann Dec 18, 2023
480c8d9
Merge pull request #6992 from MichaHoffmann/merge-release-0.33-to-main
MichaHoffmann Dec 19, 2023
a900cb5
rule: native histogram support (#6390)
rabenhorst Dec 20, 2023
b16b71d
mdox ignore checking twitter urls (#7001)
yeya24 Dec 21, 2023
d37b686
Updated Grofers logo (#7006)
kartikaysaxena Dec 21, 2023
bd7accb
TraceID : Fetching TraceID (#6973)
Vanshikav123 Dec 22, 2023
d27365c
docs: add promcon 2023 thanos talks
MichaHoffmann Dec 24, 2023
ae324c2
Merge pull request #7008 from MichaHoffmann/mhoffm-add-promcon-2023-t…
MichaHoffmann Dec 24, 2023
2d6acc5
Added website page for companies who offer consultancy and enterprise…
kartikaysaxena Dec 24, 2023
665e643
Lazy downloaded index header (#6984)
yeya24 Dec 24, 2023
a59a3ef
tests: use remote write in query frontend tests (#6998)
pawarpranav83 Dec 25, 2023
ed8a317
query-frontend: Added support of auto_discovery for memcached (#7004)
xBazilio Dec 27, 2023
31850ab
Fix URI encoding of strings
kartikaysaxena Dec 26, 2023
ee9288f
Merge pull request #7009 from kartikaysaxena/url_template
MichaHoffmann Dec 27, 2023
e77caa8
ui: enable partial response strategy by default
Vanshikav123 Dec 13, 2023
61040a5
Merge pull request #6977 from Vanshikav123/patch-partialResponse
MichaHoffmann Dec 27, 2023
93840dc
Added negative offset check for caching queries (#7011)
pawarpranav83 Dec 28, 2023
3db9c63
Update MAINTAINERS.md (Bartek's company)
bwplotka Dec 29, 2023
d388b74
Merge pull request #7015 from thanos-io/bwplotka-patch-5
MichaHoffmann Dec 29, 2023
8aa07f6
store: add chunksize tests to acceptance tests
MichaHoffmann Dec 30, 2023
6d7abb5
added tasrie it services as support partner (#7023)
tasrieit Jan 1, 2024
0fc308c
Query Frontend: Add tenant label to metrics (#6887)
jacobbaungard Jan 2, 2024
20dc2d7
tests: use remote write in query frontend tests (#7017)
pawarpranav83 Jan 2, 2024
afb1895
resolved issue #7024
Pratham1812 Jan 2, 2024
7aad562
Merge pull request #7026 from Pratham1812/patch
fpetkovski Jan 2, 2024
08a14f3
QueryFrontend|Query: Create new arg to enable extended functions (#7028)
pedro-stanaka Jan 3, 2024
cf94c2f
Merge pull request #7018 from thanos-io/mhoffm-refactor-chunksize-acc…
MichaHoffmann Jan 3, 2024
b884c51
receive: respect forward timeout in http handler buckets (#7030)
GiedriusS Jan 4, 2024
6477c00
receive: do not leak grpc connections (#7031)
GiedriusS Jan 5, 2024
8b1e429
fix multi-tenancy link (#7032)
alecrajeev Jan 7, 2024
bccf54c
removing todo comments from query docs
harsh-ps-2003 Jan 8, 2024
8f664d9
Merge branch 'main' into docs
harsh-ps-2003 Jan 8, 2024
d37d87d
Merge pull request #7037 from harsh-ps-2003/docs
fpetkovski Jan 8, 2024
0cd95eb
Query: add optional tenancy enforcement (#6756)
jacobbaungard Jan 8, 2024
0e04118
Tests: unique docker env name for tenant tests (#7038)
jacobbaungard Jan 8, 2024
b35b11d
changed default 3m to 15m
Player256 Aug 3, 2023
7c99009
Merge pull request #6539 from Player256/main
fpetkovski Jan 8, 2024
7794d78
Fix docs (#7039)
fpetkovski Jan 8, 2024
41571e2
Revert "receive: upload compacted blocks if OOO enabled (#6974)" (#7053)
GiedriusS Jan 12, 2024
6fd0ef8
[CHORE] adding thanos upload-snapshot command (#6884)
nicolastakashi Jan 12, 2024
44147d6
fix docs error
kartikaysaxena Jan 13, 2024
ae93ed6
Merge pull request #7057 from kartikaysaxena/doc-fix
MichaHoffmann Jan 13, 2024
2dcfabe
cmd: make bucket upload command take lset from flags (#7059)
MichaHoffmann Jan 14, 2024
767bf60
CHANGELOG: mark 0.34 as in progress
MichaHoffmann Jan 13, 2024
427b9a1
Merge pull request #7055 from MichaHoffmann/mhoffm-mark-0.34-as-in-pr…
MichaHoffmann Jan 14, 2024
fc86cf5
VERSION: cut release 0.34.0-rc.0
MichaHoffmann Jan 14, 2024
6fb3ca1
Merge pull request #7061 from MichaHoffmann/mhoffm-cut-release-0.34.0…
MichaHoffmann Jan 15, 2024
a7e8a64
UI: Don't always force tracing (#7062)
jacobbaungard Jan 15, 2024
bee20b9
go.mod: update Prometheus version (#7047)
GiedriusS Jan 15, 2024
324846f
Make RetryError and HaltError able to be fetched for root cause (#7043)
alexqyle Jan 15, 2024
80a5ce6
receive: disable overlapping compaction
GiedriusS Jan 16, 2024
3de122f
CI: Ensure static react-app is checked in (#7063)
jacobbaungard Jan 16, 2024
a0ce64d
Merge pull request #7065 from vinted/multitsdb_overlapping
MichaHoffmann Jan 16, 2024
4a73fc3
Receive: refactor handler for improved readability and organization (…
douglascamata Jan 17, 2024
058f920
Upgrade grpc to 1.57.2 (#7078)
hanyuting8 Jan 21, 2024
6b18338
Store: acceptance test for proxy store (#7084)
MichaHoffmann Jan 22, 2024
e215fa5
Fix lazy postings with zero length (#7083)
yeya24 Jan 22, 2024
b4aee0e
Store: fix label values edge case (#7082)
MichaHoffmann Jan 23, 2024
df467f7
VERSION: cut release 0.34.0-rc.1
MichaHoffmann Jan 20, 2024
15a60f9
Merge pull request #7086 from MichaHoffmann/mhoffm-cut-release-0.34.0…
MichaHoffmann Jan 23, 2024
fce0fe2
receive: race condition in handler Close() when stopped early (#7087)
cincinnat Jan 24, 2024
daa34a5
receive: use async remote writing (#7045)
GiedriusS Jan 26, 2024
18d740f
CHANGELOG: cut release 0.34 (#7095)
MichaHoffmann Jan 26, 2024
1cf333e
Stores: convert tests to not rely on slice labels (#7098)
MichaHoffmann Jan 27, 2024
6a0a491
all: get rid of query pushdown to simplify query path (#7014)
MichaHoffmann Jan 29, 2024
2f861d8
Store: dont rely on slice labels continued
MichaHoffmann Jan 27, 2024
9eb6591
Merge remote-tracking branch 'origin/main' into merge-release-0.34-to…
MichaHoffmann Jan 29, 2024
925e31a
Merge pull request #7101 from MichaHoffmann/merge-release-0.34-to-main
MichaHoffmann Jan 29, 2024
13e1558
Merge pull request #7099 from MichaHoffmann/mhoffm-dont-use-slice-lab…
MichaHoffmann Jan 29, 2024
50ce7a2
Update prometheus/prometheus (#7096)
fpetkovski Jan 31, 2024
94f971b
receive/handler: fix locking twice (#7112)
GiedriusS Feb 1, 2024
37092db
fix minio store gateway err (#7114)
kartikaysaxena Feb 8, 2024
29831f8
receive/handler: do not double lock (#7124)
GiedriusS Feb 9, 2024
21ed9bb
default to alertmanager v2 api (#7123)
jakekeeys Feb 9, 2024
3da5c1c
Receive: dont rely on slice labels (#7100)
MichaHoffmann Feb 9, 2024
3b7951c
Upgrade grpc to 1.57.2 (#7078)
hanyuting8 Jan 21, 2024
4a4b669
VERSION: cut release 0.34.1
MichaHoffmann Feb 11, 2024
0bf17ae
docs: update helm installation instruction
bavarianbidi Feb 12, 2024
f28680c
docs: fix link (#7129)
GiedriusS Feb 12, 2024
8ffb953
Merge branch 'main' into update_helm_installation_instruction
bavarianbidi Feb 12, 2024
7640f0f
docs: run make docs for helm installation instruction
bavarianbidi Feb 12, 2024
f5ca5a8
Merge pull request #7132 from bavarianbidi/update_helm_installation_i…
fpetkovski Feb 12, 2024
e78d867
Fixing log line for remote engine in debug mode (#7133)
pedro-stanaka Feb 12, 2024
4a82ba7
Adding new method on BucketedBytes to expose used memory (#7137)
pedro-stanaka Feb 14, 2024
70c8eb6
Adding InfraCloud as Enterprise support partner (#7141)
chetanpdeshmukh Feb 15, 2024
8fa5ff9
docs: fix link (#7129)
GiedriusS Feb 12, 2024
4cf1559
Merge pull request #7131 from MichaHoffmann/mhoffm-cut-release-0.34.1
MichaHoffmann Feb 19, 2024
987fac6
cache: attach object storage hash to iter key (#6880)
GiedriusS Feb 19, 2024
8249048
Merge remote-tracking branch 'origin/main' into merge-release-0.34.1-…
MichaHoffmann Feb 20, 2024
40114ce
Merge remote-tracking branch 'origin/main' into merge-release-0.34.1-…
MichaHoffmann Feb 20, 2024
fc3b360
Merge pull request #7150 from MichaHoffmann/merge-release-0.34.1-to-main
MichaHoffmann Feb 20, 2024
1723d1d
Add support for extended promql functions in rule (#7105)
sdufel Feb 21, 2024
42289ca
Extended func support - doc update (#7161)
sdufel Feb 22, 2024
ed44e01
Copy labels from remote instant queries (#7151)
fpetkovski Feb 22, 2024
508d82e
e2e/query_frontend: add tests for explain/analyze (#7160)
GiedriusS Feb 23, 2024
75152c4
cache/caching_bucket: add path to hash (#7158)
GiedriusS Feb 23, 2024
2f1f83f
Allow using different listing strategies (#7134)
fpetkovski Feb 24, 2024
f72b767
cache: implement the circuit breaker pattern for asynchronous set ope…
damnever Feb 25, 2024
a532ccd
queryfrontend: fix analysis after API changes
GiedriusS Feb 26, 2024
e7cd6c1
bugfix: lazy posting optimization with wrong cardinality for estimati…
yeya24 Feb 26, 2024
deabad9
*: properly treat native histogram deduplication in chunk series merger
pedro-stanaka Feb 23, 2024
5ab87be
Merge pull request #7163 from thanos-io/fix_queryrange_analysis
MichaHoffmann Feb 27, 2024
360d24d
Query UI: Add tenant box (#6867)
jacobbaungard Feb 27, 2024
4c7997d
receive: add support for globbing tenant specifiers (#7155)
GiedriusS Feb 27, 2024
084fb23
.circleci: bump setup_docker_version version (#7177)
GiedriusS Mar 4, 2024
be02591
Unhide distributed execution mode
fpetkovski Mar 3, 2024
f6fed68
Add changelog entry
fpetkovski Mar 4, 2024
4166776
Merge pull request #7175 from fpetkovski/distributed-query-mode
fpetkovski Mar 5, 2024
c06d55d
cortex/querier: fix analysis merging (#7179)
GiedriusS Mar 5, 2024
9694f01
Fix docs
fpetkovski Mar 5, 2024
a97a6ff
Merge pull request #7180 from fpetkovski/fix-docs
fpetkovski Mar 5, 2024
6664247
Added platformengineers
munir131 Mar 5, 2024
673c82f
Added platformengineers (#7181)
munir131 Mar 7, 2024
e40e364
Bump google.golang.org/protobuf to v1.33.0 (#7191)
danielmellado Mar 7, 2024
cbc9738
Merge branch 'thanos-io:main' into main
payalraviya Mar 7, 2024
adca80b
fix: make responsive support page and change size of platform-enginee…
payalraviya Mar 7, 2024
5fa40d7
downsample: retry objstore related errors
xBazilio Mar 7, 2024
4c10194
downsample: retry objstore related errors
xBazilio Mar 7, 2024
31af6da
rule: do not turn off if resolving fails (#7192)
GiedriusS Mar 8, 2024
0be6c87
Merge branch 'main' into support-page-changes
munir131 Mar 8, 2024
5910ed6
Query UI: Only show tenant box with enforcement on (#7186)
jacobbaungard Mar 8, 2024
d889195
Merge branch 'main' into support-page-changes
munir131 Mar 9, 2024
3019dfe
Merge pull request #7193 from Improwised/support-page-changes
fpetkovski Mar 10, 2024
7acce0c
Merge pull request #7164 from pedro-stanaka/fix/dedup-iter
fpetkovski Mar 11, 2024
7eda7ff
Reloader: Add support for watching and decompressing Prometheus confi…
TheSpiritXIII Mar 12, 2024
528f066
[FEAT] Adding blog post (#7202)
heliapb Mar 13, 2024
bbfb8fd
storepb: make ServerAsClient channels unbuffered
MichaHoffmann Mar 13, 2024
dea822d
Merge pull request #7207 from MichaHoffmann/mhoffm-make-server-as-cli…
fpetkovski Mar 13, 2024
f731719
Add support for TSDB selector in querier (#7200)
fpetkovski Mar 14, 2024
2623e49
Merge branch 'main' into retry-downsample-errors
fpetkovski Mar 18, 2024
6df670f
Merge pull request #7194 from xBazilio/retry-downsample-errors
fpetkovski Mar 18, 2024
4a2a455
Update thanos-io/promql-engine (#7215)
fpetkovski Mar 21, 2024
deb615f
expose NewPromSeriesSet (#7214)
yeya24 Mar 23, 2024
93c79b6
[CHORE] adding auto GOMEMLIMIT flag (#7223)
nicolastakashi Mar 24, 2024
b721f09
bump objstore package version to latest main (#7228)
yeya24 Mar 25, 2024
b55ffbc
Query-frontend: fix missing redis username config (#7224)
thibaultmg Mar 25, 2024
6c613fc
UI: Showing Block Size Stats (#7233)
outofrange Mar 26, 2024
4d7a75f
Fix lazy expanded postings cache and bug of non equal matcher (#7220)
yeya24 Mar 27, 2024
4f664e3
Bump Prometheus to include new label regex optimization (#7232)
yeya24 Mar 28, 2024
943401f
update docs for receive routing only with limits (#7241)
alecrajeev Mar 28, 2024
f707f8c
docs: add thanoscon 2024 talks (#7243)
MichaHoffmann Mar 29, 2024
881beb9
remove write method from Compactor interface (#7246)
yeya24 Apr 1, 2024
4bf7867
change shipper to not overwrite all external labels (#7247)
yeya24 Apr 1, 2024
8cdece5
fix(changelog): fix GOMEMLIMIT pull request reference
roth-wine Apr 2, 2024
c7b1cc9
Merge pull request #7250 from roth-wine/pr-fix-changelog-gomemlimit-r…
fpetkovski Apr 2, 2024
e802745
Update kakkoyun's affiliation (#7251)
kakkoyun Apr 2, 2024
f80fd94
Added Shield in adopters (#7254)
suhas-chikkanna Apr 3, 2024
3048d99
Tracing: added missing sampler types (#7231)
NeerajNagure Apr 5, 2024
603fb38
fix query_test when --race enabled (#7258)
jnyi Apr 5, 2024
40465ee
go.mod: bump promql-engine (#7263)
GiedriusS Apr 5, 2024
6b3aa32
Fix 7244 error targets page (#7245)
tizki Apr 8, 2024
78b5bbc
clarify documentation around selecor.relabel-config option
NotAFile Apr 8, 2024
74c5dc9
clarify writing around sharding
NotAFile Apr 8, 2024
d6d3645
don't halt compaction due to overlapping sources when vertical compac…
yeya24 Apr 9, 2024
a6dc67b
Propagate the query plan
pedro-stanaka Mar 27, 2024
79b11f5
removing second precision engine, upstream already truncates
pedro-stanaka Apr 5, 2024
350796b
Passing the plan along as the query in remote executions
pedro-stanaka Apr 5, 2024
f5bcc13
Using proper constructors passing the query plan
pedro-stanaka Apr 5, 2024
11f87d8
Refactor query creation from plan
pedro-stanaka Apr 8, 2024
0bed7ef
fallback in case we cant use plan
pedro-stanaka Apr 8, 2024
409cfed
refactor, add tests
pedro-stanaka Apr 8, 2024
4ae0449
Refactor to method
pedro-stanaka Apr 8, 2024
9ef4b5a
last nits
pedro-stanaka Apr 8, 2024
a106d5f
api/ui: show peak/total samples in analyze (#7269)
GiedriusS Apr 9, 2024
f7853dd
Merge pull request #7266 from NotAFile/clarify-relabel-selector-docs
fpetkovski Apr 9, 2024
953ce26
Merge pull request #7261 from pedro-stanaka/feat/plan-serialize-optimize
fpetkovski Apr 9, 2024
5280bb6
receive/handler: implement tenant label splitting (#7256)
GiedriusS Apr 10, 2024
8227108
query: fixing dedup iterator when working on mixed sample types (#7271)
pedro-stanaka Apr 11, 2024
652e8cc
change the reflect package to an unsafe package (#7143)
yj-yoo Apr 11, 2024
140bc87
Receive: fix issue-7248 with parallel receive_forward (#7267)
jnyi Apr 11, 2024
968899f
Fix incorrect comments (#7268)
magiceses Apr 12, 2024
9338e1e
[CHORE] adding user agent (#7281)
nicolastakashi Apr 15, 2024
5fb0c69
receive/multitsdb: do not delete not uploaded blocks (#7166)
GiedriusS Apr 16, 2024
f7ba140
Compact: Replace group with resolution in ownsample metrics (#7283)
SuperQ Apr 18, 2024
b0be155
Propagate warnings from instant queries
fpetkovski Apr 18, 2024
fe0931d
Add CHANGELOG entry
fpetkovski Apr 18, 2024
6582c81
Merge pull request #7286 from fpetkovski/instant-query-warns
fpetkovski Apr 18, 2024
9998c9b
Receive: stop relying on grpc server config to set grpc client secure…
guillaumelecerf Mar 20, 2024
c3cd031
Merge pull request #7219 from guillaumelecerf/bugfix/client-tls-exter…
fpetkovski Apr 22, 2024
a96e7f3
Show warnings in query frontend (#7289)
fpetkovski Apr 23, 2024
7c8fe85
Optimize empty posting check in lazy posting (#7298)
yeya24 Apr 23, 2024
57016bd
Sidecar: mark as unqueryable if prometheus is down (#7297)
MichaHoffmann Apr 24, 2024
23d2052
[CHORE] considering X-Forwarded-For on HTTP Logging (#7303)
nicolastakashi Apr 25, 2024
a007648
Query|Receiver: Do not log full request on ProxyStore by default (#7305)
pedro-stanaka Apr 26, 2024
e6fc833
*: Updating hashicorp LRU cache to v2 (#7306)
pedro-stanaka Apr 26, 2024
6bf98f9
store: use loser trees (#7304)
GiedriusS Apr 26, 2024
fed2870
Store: batch tsdb infos (#7308)
MichaHoffmann Apr 26, 2024
4145f03
Proxy: acceptance tests for relabel filter (#7309)
MichaHoffmann Apr 29, 2024
bd74665
Stores: respect replica labels in LabelValues and LabelNames (#7310)
MichaHoffmann Apr 29, 2024
d9508cc
CHANGELOG: Mark 0.35 as in progress (#7312)
saswatamcode Apr 29, 2024
bcad1e1
Cut release candidate v0.35.0-rc.0 (#7314)
saswatamcode Apr 29, 2024
d9a0efa
Cut release v0.35.0 (#7320)
saswatamcode May 2, 2024
086a698
Cut patch release `v0.35.1` (#7394)
saswatamcode May 28, 2024
623e131
Merge tag 'refs/tags/v0.35.1' into release-2.12
github-actions[bot] Jul 24, 2024
18dff2f
[bot]go mod tidy
github-actions[bot] Jul 24, 2024
1442565
fix conflicts
coleenquadros Jul 24, 2024
aace4ea
remove files
coleenquadros Jul 24, 2024
b1c7641
test duplicates
coleenquadros Jul 24, 2024
7a240cd
conflicts
coleenquadros Jul 24, 2024
41f0ecd
remove files
coleenquadros Jul 24, 2024
ae8e7a7
lint
coleenquadros Jul 24, 2024
c39f4ce
test fix
coleenquadros Jul 24, 2024
004de87
remove files
coleenquadros Jul 24, 2024
9e14858
conflict
coleenquadros Jul 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix lazy expanded postings cache and bug of non equal matcher (thanos…
…-io#7220)

* fix lazy expanded postings cache and bug of non equal matcher with non existent values

Signed-off-by: Ben Ye <benye@amazon.com>

* test case for remove keys noop

Signed-off-by: Ben Ye <benye@amazon.com>

* add promqlsmith fuzz test

Signed-off-by: Ben Ye <benye@amazon.com>

* update

Signed-off-by: Ben Ye <benye@amazon.com>

* changelog

Signed-off-by: Ben Ye <benye@amazon.com>

* fix go mod

Signed-off-by: Ben Ye <benye@amazon.com>

* rename test

Signed-off-by: Ben Ye <benye@amazon.com>

* fix series request timestamp

Signed-off-by: Ben Ye <benye@amazon.com>

* skip e2e test

Signed-off-by: Ben Ye <benye@amazon.com>

* handle non lazy expanded case

Signed-off-by: Ben Ye <benye@amazon.com>

* update comment

Signed-off-by: Ben Ye <benye@amazon.com>

---------

Signed-off-by: Ben Ye <benye@amazon.com>
  • Loading branch information
yeya24 committed Mar 27, 2024
commit 4d7a75f40ae1c3fde7feb6ea5d5be0c7878d3d9f
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ We use *breaking :warning:* to mark changes that are not backward compatible (re
- [#7134](https://github.com/thanos-io/thanos/pull/7134) Store, Compact: Revert the recursive block listing mechanism introduced in https://github.com/thanos-io/thanos/pull/6474 and use the same strategy as in 0.31. Introduce a `--block-discovery-strategy` flag to control the listing strategy so that a recursive lister can still be used if the tradeoff of slower but cheaper discovery is preferred.
- [#7122](https://github.com/thanos-io/thanos/pull/7122) Store Gateway: Fix lazy expanded postings estimate base cardinality using posting group with remove keys.
- [#7224](https://github.com/thanos-io/thanos/pull/7224) Query-frontend: Add Redis username to the client configuration.
- [#7220](https://github.com/thanos-io/thanos/pull/7220) Store Gateway: Fix lazy expanded postings caching partial expanded postings and bug of estimating remove postings with non existent value. Added `PromQLSmith` based fuzz test to improve correctness.

### Added

- [#7194](https://github.com/thanos-io/thanos/pull/7194) Downsample: retry objstore related errors
- [#7105](https://github.com/thanos-io/thanos/pull/7105) Rule: add flag `--query.enable-x-functions` to allow usage of extended promql functions (xrate, xincrease, xdelta) in loaded rules
- [#6867](https://github.com/thanos-io/thanos/pull/6867) Query UI: Tenant input box added to the Query UI, in order to be able to specify which tenant the query should use.
Expand Down
3 changes: 2 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ require (
github.com/prometheus/common v0.46.0
github.com/prometheus/exporter-toolkit v0.11.0
// Prometheus maps version 2.x.y to tags v0.x.y.
github.com/prometheus/prometheus v0.49.2-0.20240126144015-960b6266e2ba
github.com/prometheus/prometheus v0.50.0
github.com/sony/gobreaker v0.5.0
github.com/stretchr/testify v1.8.4
github.com/thanos-io/objstore v0.0.0-20240309075357-e8336a5fd5f3
Expand Down Expand Up @@ -116,6 +116,7 @@ require (
)

require (
github.com/cortexproject/promqlsmith v0.0.0-20240326071418-c2a9ca1e89f5
github.com/mitchellh/go-ps v1.0.0
github.com/onsi/gomega v1.27.10
github.com/prometheus-community/prom-label-proxy v0.8.1-0.20240127162815-c1195f9aabc0
Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -778,8 +778,8 @@ github.com/coreos/go-systemd/v22 v22.4.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/cortexproject/promqlsmith v0.0.0-20240103062231-e3aada49136f h1:0IyHUBbWzCxe/dgjBCQcIv4ZIc7Rvlp2jXVYibcoAW8=
github.com/cortexproject/promqlsmith v0.0.0-20240103062231-e3aada49136f/go.mod h1:by/B++NlNa8Hp+d2054cy3YR4ijhPNGnuWjUWOUppms=
github.com/cortexproject/promqlsmith v0.0.0-20240326071418-c2a9ca1e89f5 h1:UfuB6no2X1BcKxICY63lzgY+XaPMQ/Wv4woP3p0L+mg=
github.com/cortexproject/promqlsmith v0.0.0-20240326071418-c2a9ca1e89f5/go.mod h1:fcysbw4fOsOipXKeXPXWSh7tXrUQSUr5V4duojv0oCM=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
Expand Down Expand Up @@ -1464,8 +1464,8 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1
github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4=
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
github.com/prometheus/prometheus v0.49.2-0.20240126144015-960b6266e2ba h1:bDCs3jd+3KURFIDykicCeNfa573KYVZGhN4F62WHTmI=
github.com/prometheus/prometheus v0.49.2-0.20240126144015-960b6266e2ba/go.mod h1:FvE8dtQ1Ww63IlyKBn1V4s+zMwF9kHkVNkQBR1pM4CU=
github.com/prometheus/prometheus v0.50.0 h1:gf+SN6jtbsZ70KkIGg7S3LuB4kHyUfatZLCGwZ1/aec=
github.com/prometheus/prometheus v0.50.0/go.mod h1:FvE8dtQ1Ww63IlyKBn1V4s+zMwF9kHkVNkQBR1pM4CU=
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/redis/rueidis v1.0.14-go1.18 h1:dGir5z8w8X1ex7JWO/Zx2FMBrZgQ8Yjm+lw9fPLSNGw=
github.com/redis/rueidis v1.0.14-go1.18/go.mod h1:HGekzV3HbmzFmRK6j0xic8Z9119+ECoGMjeN1TV1NYU=
Expand Down
19 changes: 14 additions & 5 deletions pkg/store/bucket.go
Original file line number Diff line number Diff line change
Expand Up @@ -1159,10 +1159,11 @@ func (b *blockSeriesClient) nextBatch(tenant string) error {
}
b.i = end

lazyExpandedPosting := b.lazyPostings.lazyExpanded()
postingsBatch := b.lazyPostings.postings[start:end]
if len(postingsBatch) == 0 {
b.hasMorePostings = false
if b.lazyPostings.lazyExpanded() {
if lazyExpandedPosting {
// No need to fetch index version again if lazy posting has 0 length.
if len(b.lazyPostings.postings) > 0 {
v, err := b.indexr.IndexVersion()
Expand Down Expand Up @@ -1196,11 +1197,13 @@ OUTER:
if err := b.ctx.Err(); err != nil {
return err
}
ok, err := b.indexr.LoadSeriesForTime(postingsBatch[i], &b.symbolizedLset, &b.chkMetas, b.skipChunks, b.mint, b.maxt)
hasMatchedChunks, err := b.indexr.LoadSeriesForTime(postingsBatch[i], &b.symbolizedLset, &b.chkMetas, b.skipChunks, b.mint, b.maxt)
if err != nil {
return errors.Wrap(err, "read series")
}
if !ok {
// Skip getting series symbols if we know there is no matched chunks
// and lazy expanded posting not enabled.
if !lazyExpandedPosting && !hasMatchedChunks {
continue
}

Expand All @@ -1218,9 +1221,15 @@ OUTER:
continue OUTER
}
}
if b.lazyPostings.lazyExpanded() {
if lazyExpandedPosting {
b.expandedPostings = append(b.expandedPostings, postingsBatch[i])
}
// If lazy expanded postings enabled, due to expanded postings cache, we need to
// make sure we check lazy posting matchers and update expanded postings before
// going to next series.
if !hasMatchedChunks {
continue
}

completeLabelset := labelpb.ExtendSortedLabels(b.lset, b.extLset)
if b.extLsetToRemove != nil {
Expand Down Expand Up @@ -1261,7 +1270,7 @@ OUTER:
b.entries = append(b.entries, s)
}

if b.lazyPostings.lazyExpanded() {
if lazyExpandedPosting {
// Apply series limit before fetching chunks, for actual series matched.
if err := b.seriesLimiter.Reserve(uint64(seriesMatched)); err != nil {
return httpgrpc.Errorf(int(codes.ResourceExhausted), "exceeded series limit: %s", err)
Expand Down
9 changes: 7 additions & 2 deletions pkg/store/lazy_postings.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,15 @@ func optimizePostingsFetchByDownloadedBytes(r *bucketIndexReader, postingGroups
return nil, false, errors.Wrapf(err, "postings offsets for %s", pg.name)
}

// No posting ranges found means empty posting.
if len(rngs) == 0 {
// If the posting group adds keys, no posting ranges found means empty posting.
if len(pg.addKeys) > 0 && len(rngs) == 0 {
return nil, true, nil
}
// If the posting group removes keys, no posting ranges found is fine. It means
// that the posting group is a noop. {job != "some_non_existent_value"}
if len(pg.removeKeys) > 0 && len(rngs) == 0 {
continue
}
for _, r := range rngs {
if r == indexheader.NotFoundRange {
continue
Expand Down
41 changes: 36 additions & 5 deletions pkg/store/lazy_postings_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -308,10 +308,8 @@ func TestOptimizePostingsFetchByDownloadedBytes(t *testing.T) {
expectedError: "postings offsets for foo: random",
},
{
name: "posting offsets empty",
inputPostings: map[string]map[string]index.Range{
"foo": {"bar": index.Range{End: 8}},
},
name: "posting offsets empty with add keys, expect empty posting",
inputPostings: map[string]map[string]index.Range{},
seriesMaxSize: 1000,
seriesMatchRatio: 0.5,
postingGroups: []*postingGroup{
Expand All @@ -322,7 +320,7 @@ func TestOptimizePostingsFetchByDownloadedBytes(t *testing.T) {
expectedEmptyPosting: true,
},
{
name: "posting group label doesn't exist",
name: "posting group label with add keys doesn't exist, return empty postings",
inputPostings: map[string]map[string]index.Range{
"foo": {"bar": index.Range{End: 8}},
},
Expand All @@ -335,6 +333,39 @@ func TestOptimizePostingsFetchByDownloadedBytes(t *testing.T) {
expectedPostingGroups: nil,
expectedEmptyPosting: true,
},
{
name: "posting group label with remove keys doesn't exist, noop",
inputPostings: map[string]map[string]index.Range{
"foo": {"bar": index.Range{End: 8}},
},
seriesMaxSize: 1000,
seriesMatchRatio: 0.5,
postingGroups: []*postingGroup{
{name: "foo", addKeys: []string{"bar"}},
{name: "bar", removeKeys: []string{"foo"}, addAll: true},
},
expectedPostingGroups: []*postingGroup{
{name: "bar", removeKeys: []string{"foo"}, cardinality: 0, addAll: true},
{name: "foo", addKeys: []string{"bar"}, cardinality: 1},
},
},
{
name: "posting group label with remove keys exist but no matching value, noop",
inputPostings: map[string]map[string]index.Range{
"foo": {"bar": index.Range{End: 8}},
"bar": {"baz": index.Range{Start: 8, End: 16}},
},
seriesMaxSize: 1000,
seriesMatchRatio: 0.5,
postingGroups: []*postingGroup{
{name: "foo", addKeys: []string{"bar"}},
{name: "bar", removeKeys: []string{"foo"}, addAll: true},
},
expectedPostingGroups: []*postingGroup{
{name: "bar", removeKeys: []string{"foo"}, cardinality: 0, addAll: true},
{name: "foo", addKeys: []string{"bar"}, cardinality: 1},
},
},
{
name: "posting group keys partial exist",
inputPostings: map[string]map[string]index.Range{
Expand Down
107 changes: 107 additions & 0 deletions pkg/testutil/e2eutil/prometheus.go
Original file line number Diff line number Diff line change
Expand Up @@ -811,3 +811,110 @@ func PutOutOfOrderIndex(blockDir string, minTime int64, maxTime int64) error {

return iw.Close()
}

// CreateBlockWithChurn writes a block with the given series. Start time of each series
// will be randomized in the given time window to create churn. Only float chunk is supported right now.
func CreateBlockWithChurn(
ctx context.Context,
rnd *rand.Rand,
dir string,
series []labels.Labels,
numSamples int,
mint, maxt int64,
extLset labels.Labels,
resolution int64,
scrapeInterval int64,
seriesSize int64,
) (id ulid.ULID, err error) {
headOpts := tsdb.DefaultHeadOptions()
headOpts.ChunkDirRoot = filepath.Join(dir, "chunks")
headOpts.ChunkRange = 10000000000
h, err := tsdb.NewHead(nil, nil, nil, nil, headOpts, nil)
if err != nil {
return id, errors.Wrap(err, "create head block")
}
defer func() {
runutil.CloseWithErrCapture(&err, h, "TSDB Head")
if e := os.RemoveAll(headOpts.ChunkDirRoot); e != nil {
err = errors.Wrap(e, "delete chunks dir")
}
}()

app := h.Appender(ctx)
for i := 0; i < len(series); i++ {

var ref storage.SeriesRef
start := RandRange(rnd, mint, maxt)
for j := 0; j < numSamples; j++ {
if ref == 0 {
ref, err = app.Append(0, series[i], start, float64(i+j))
} else {
ref, err = app.Append(ref, series[i], start, float64(i+j))
}
if err != nil {
if rerr := app.Rollback(); rerr != nil {
err = errors.Wrapf(err, "rollback failed: %v", rerr)
}
return id, errors.Wrap(err, "add sample")
}
start += scrapeInterval
if start > maxt {
break
}
}
}
if err := app.Commit(); err != nil {
return id, errors.Wrap(err, "commit")
}

c, err := tsdb.NewLeveledCompactor(ctx, nil, log.NewNopLogger(), []int64{maxt - mint}, nil, nil)
if err != nil {
return id, errors.Wrap(err, "create compactor")
}

id, err = c.Write(dir, h, mint, maxt, nil)
if err != nil {
return id, errors.Wrap(err, "write block")
}

if id.Compare(ulid.ULID{}) == 0 {
return id, errors.Errorf("nothing to write, asked for %d samples", numSamples)
}

blockDir := filepath.Join(dir, id.String())
logger := log.NewNopLogger()

if _, err = metadata.InjectThanos(logger, blockDir, metadata.Thanos{
Labels: extLset.Map(),
Downsample: metadata.ThanosDownsample{Resolution: resolution},
Source: metadata.TestSource,
IndexStats: metadata.IndexStats{SeriesMaxSize: seriesSize},
}, nil); err != nil {
return id, errors.Wrap(err, "finalize block")
}

return id, nil
}

// AddDelay rewrites a given block with delay.
func AddDelay(blockID ulid.ULID, dir string, blockDelay time.Duration) (ulid.ULID, error) {
id, err := ulid.New(uint64(timestamp.FromTime(timestamp.Time(int64(blockID.Time())).Add(-blockDelay))), bytes.NewReader(blockID.Entropy()))
if err != nil {
return ulid.ULID{}, errors.Wrap(err, "create block id")
}

bdir := path.Join(dir, blockID.String())
m, err := metadata.ReadFromDir(bdir)
if err != nil {
return ulid.ULID{}, errors.Wrap(err, "open meta file")
}

logger := log.NewNopLogger()
m.ULID = id
m.Compaction.Sources = []ulid.ULID{id}
if err := m.WriteToDir(logger, path.Join(dir, blockID.String())); err != nil {
return ulid.ULID{}, errors.Wrap(err, "write meta.json file")
}

return id, os.Rename(path.Join(dir, blockID.String()), path.Join(dir, id.String()))
}
11 changes: 11 additions & 0 deletions pkg/testutil/e2eutil/rand.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Copyright (c) The Thanos Authors.
// Licensed under the Apache License 2.0.

package e2eutil

import "math/rand"

// RandRange returns a random int64 from [min, max].
func RandRange(rnd *rand.Rand, min, max int64) int64 {
return rnd.Int63n(max-min) + min
}
Loading