Commit graph

12772 commits

Author SHA1 Message Date
Nick Pillitteri 481f14e1c0
TSDB: Don't rely on integer overflow in head compaction check (#13755)
* TSDB: Don't compact the head block when empty

Don't compact the Head block if there have not yet been any samples
appended.

Previously, the logic for determining if the head should be compacted
relied on the default values for min and max time and integer overflow
when they were checked in `Head.compactable()`. The check in
`Head.compactable()` effectively did `math.MinInt64 - math.MaxInt64`
which overflowed and wrapped to `1`. Since `1` is less than `1.5`
times the chunk range, compaction did not happen. This was the correct
behavior but relying on overflow wrapping is surprising.

This change add a method for checking if the min and max time for the
head is unset and uses it to short-circuit compaction in that case.
It also replaces several explicit checks for the default value to
determine if the head has not yet had any samples added.

Signed-off-by: Nick Pillitteri <nick.pillitteri@grafana.com>
2024-03-26 12:17:38 +01:00
Bartlomiej Plotka d771cabc95
Merge pull request #13831 from prometheus/cherry-pick-13803
Release 2.51: Cherry-pick #13803 bugfix for label_join
2024-03-26 12:17:10 +01:00
Ben Ye ceca6c4716
[ENHANCEMENT] TSDB: Log more statistics during startup (#13838)
* log chunk snapshot and mmap chunks replay duration together with total replay duration

Signed-off-by: Ben Ye <benye@amazon.com>
2024-03-26 11:16:27 +00:00
Bryan Boreham 78c0fd2f4d
Merge pull request #13799 from machine424/wbl
chore(tsdb): set the wbl to nil as well in DBReadOnly.loadDataAsQuery…
2024-03-25 15:03:56 +01:00
Bryan Boreham f381ee3e55
Merge pull request #13834 from arturmelanchyk/lock-free-total
TSDB: lock-free total counter
2024-03-25 14:58:44 +01:00
Bryan Boreham 7d705ea9e8
Merge pull request #13830 from deterclosed/main
[DOCS] remove repeated word
2024-03-25 14:55:22 +01:00
Bryan Boreham b6c144ab2d
Merge pull request #13835 from sellskin/main
[STYLE] Discovery tests: remove code that will not be executed
2024-03-25 14:54:20 +01:00
Bryan Boreham 5540d34d94
Merge pull request #13461 from pracucci/upstream-fastregexmatcher
Further optimise FastRegexMatcher
2024-03-25 13:49:29 +01:00
Bryan Boreham 48786ad4e8 Use slices insteda of exp/slices
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-03-25 12:20:18 +00:00
Bryan Boreham 080d440bf8 Merge remote-tracking branch 'origin/main' into pr/13461 2024-03-25 12:14:26 +00:00
sellskin ff15b17400 remove code that will not be executed
Signed-off-by: sellskin <mydesk@yeah.net>
2024-03-25 12:18:33 +08:00
Artur Melanchyk 44dcf02c69
TSDB: make total lock-free by using atomic
Signed-off-by: Artur Melanchyk <artur.melanchyk@gmail.com>
2024-03-23 19:51:29 +01:00
Bryan Boreham 773170f372
Merge pull request #13822 from dgl/promtool-test-errors
promtool: Avoid using testify for user rule tests
2024-03-23 09:42:34 +01:00
tdakkota 17e2c30754 promql: validate label_join destination label
Signed-off-by: tdakkota <tanc13@yandex.ru>
2024-03-23 09:05:39 +01:00
Bryan Boreham bb62e3f808
Merge pull request #13803 from tdakkota/fix/validate-label-join-dest-label
promql: validate `label_join` destination label
2024-03-23 09:02:11 +01:00
deterclosed fab6298550 chore: remove repetitive word
Signed-off-by: deterclosed <fliter@outlook.com>
2024-03-23 13:39:27 +08:00
Arve Knudsen bfaa0a319c
Merge pull request #13826 from aknuds1/arve/fix-mock-querier-typo
storage: Fix mockChunkQuerier type name
2024-03-22 13:03:21 +01:00
Julien 2ef07b850c
Merge pull request #13814 from prometheus/dependabot/go_modules/k8s-io-dcd36d7e14
build(deps): bump the k8s-io group with 3 updates
2024-03-22 12:18:07 +01:00
Julien 2f57a25433
Merge pull request #13815 from prometheus/dependabot/go_modules/github.com/linode/linodego-1.30.0
build(deps): bump github.com/linode/linodego from 1.29.0 to 1.30.0
2024-03-22 12:17:24 +01:00
Julien b76ccb735f
Merge pull request #13823 from prymitive/num_dropped
Use consistent keys for logs
2024-03-22 12:09:38 +01:00
Arve Knudsen d8e4230696 storage: Fix mockChunkQuerier type name
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2024-03-22 07:44:38 +01:00
Ben Kochie 69ce3780d7
Merge pull request #13807 from prometheus/dependabot/github_actions/scripts/actions/checkout-4.1.2
build(deps): bump actions/checkout from 4.1.1 to 4.1.2 in /scripts
2024-03-22 07:30:53 +01:00
Ben Kochie f96b794835
Merge pull request #13808 from prometheus/dependabot/github_actions/golangci/golangci-lint-action-4.0.0
build(deps): bump golangci/golangci-lint-action from 3.7.0 to 4.0.0
2024-03-22 07:29:58 +01:00
Ben Kochie 5dc3c1dc9b
Merge pull request #13809 from prometheus/dependabot/github_actions/bufbuild/buf-setup-action-1.30.0
build(deps): bump bufbuild/buf-setup-action from 1.28.1 to 1.30.0
2024-03-22 07:29:06 +01:00
Jeanette Tan 9d32754bc0 add unit tests with all negative values for histogram_stddev and var
Signed-off-by: Jeanette Tan <jeanette.tan@grafana.com>
2024-03-22 03:42:50 +08:00
Łukasz Mierzwa 3bb27c33e9 Use consistent keys for logs
Rule warnings are logged with numDropped=N while every other component uses num_dropped=N:

```
notifier/notifier.go:		level.Warn(n.logger).Log("msg", "Alert batch larger than queue capacity, dropping alerts", "num_dropped", d)
notifier/notifier.go:		level.Warn(n.logger).Log("msg", "Alert notification queue full, dropping alerts", "num_dropped", d)
storage/remote/write_handler.go:		_ = level.Warn(h.logger).Log("msg", "Error on ingesting out-of-order exemplars", "num_dropped", outOfOrderExemplarErrs)
rules/group.go:				level.Warn(logger).Log("msg", "Error on ingesting out-of-order result from rule evaluation", "num_dropped", numOutOfOrder)
rules/group.go:				level.Warn(logger).Log("msg", "Error on ingesting too old result from rule evaluation", "num_dropped", numTooOld)
rules/group.go:				level.Warn(logger).Log("msg", "Error on ingesting results from rule evaluation with different value but same timestamp", "num_dropped", numDuplicates)
scrape/scrape.go:		level.Warn(sl.l).Log("msg", "Error on ingesting out-of-order samples", "num_dropped", appErrs.numOutOfOrder)
scrape/scrape.go:		level.Warn(sl.l).Log("msg", "Error on ingesting samples with different value but same timestamp", "num_dropped", appErrs.numDuplicates)
scrape/scrape.go:		level.Warn(sl.l).Log("msg", "Error on ingesting samples that are too old or are too far into the future", "num_dropped", appErrs.numOutOfBounds)
scrape/scrape.go:		level.Warn(sl.l).Log("msg", "Error on ingesting out-of-order exemplars", "num_dropped", appErrs.numExemplarOutOfOrder)
```

Rename numDropped to num_dropped for consistency.

Signed-off-by: Łukasz Mierzwa <l.mierzwa@gmail.com>
2024-03-21 15:59:20 +00:00
David Leadbeater 7ec4a11472 promtool: Avoid using testify for user rule tests
Using testify outside of unit tests results in panics rather than a
useful error for the user.

Fixes #13703

Signed-off-by: David Leadbeater <dgl@dgl.cx>
2024-03-21 22:08:10 +11:00
dependabot[bot] 191c467f16
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5
Bumps [github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5](https://github.com/Azure/azure-sdk-for-go) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/resourcemanager/compute/armcompute/v5.5.0...sdk/resourcemanager/compute/armcompute/v5.6.0)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 08:15:52 +00:00
dependabot[bot] 9bdb6f6554
build(deps): bump github.com/linode/linodego from 1.29.0 to 1.30.0
Bumps [github.com/linode/linodego](https://github.com/linode/linodego) from 1.29.0 to 1.30.0.
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](https://github.com/linode/linodego/compare/v1.29.0...v1.30.0)

---
updated-dependencies:
- dependency-name: github.com/linode/linodego
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 08:15:15 +00:00
dependabot[bot] 33138174d4
build(deps): bump the k8s-io group with 3 updates
Bumps the k8s-io group with 3 updates: [k8s.io/api](https://github.com/kubernetes/api), [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) and [k8s.io/client-go](https://github.com/kubernetes/client-go).


Updates `k8s.io/api` from 0.29.2 to 0.29.3
- [Commits](https://github.com/kubernetes/api/compare/v0.29.2...v0.29.3)

Updates `k8s.io/apimachinery` from 0.29.2 to 0.29.3
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.29.2...v0.29.3)

Updates `k8s.io/client-go` from 0.29.2 to 0.29.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.29.2...v0.29.3)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-io
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-io
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-io
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 08:15:04 +00:00
dependabot[bot] 0c58987bc9
build(deps): bump actions/setup-node from 4.0.1 to 4.0.2
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](b39b52d121...60edb5dd54)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 08:14:40 +00:00
dependabot[bot] 94d13099b4
build(deps): bump actions/cache from 4.0.1 to 4.0.2
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](ab5e6d0c87...0c45773b62)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 08:14:36 +00:00
dependabot[bot] 4eadb42c43
build(deps): bump bufbuild/buf-setup-action from 1.28.1 to 1.30.0
Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.28.1 to 1.30.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](382440cdb8...517ee23296)

---
updated-dependencies:
- dependency-name: bufbuild/buf-setup-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 08:14:24 +00:00
dependabot[bot] b5a2331c69
build(deps): bump golangci/golangci-lint-action from 3.7.0 to 4.0.0
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.7.0 to 4.0.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](3a91952989...3cfe3a4abb)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 08:14:18 +00:00
dependabot[bot] a192d4a04b
build(deps): bump actions/checkout from 4.1.1 to 4.1.2 in /scripts
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](b4ffde65f4...9bb56186c3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 08:14:12 +00:00
Ben Kochie 61481160d7
Merge pull request #13386 from linuxgcc/dev2
Fix binary detection in Makefile
2024-03-21 09:13:32 +01:00
heyitao d9e4353520 Fix binary detection in Makefile
Signed-off-by: heyitao <heyitao@uniontech.com>
2024-03-21 11:32:23 +08:00
heyitao c7ca85388f Fix yaml file format and clear ci errors
Signed-off-by: heyitao <heyitao@uniontech.com>
2024-03-21 11:32:02 +08:00
tdakkota f6834c347a
promql: validate label_join destination label
Signed-off-by: tdakkota <tanc13@yandex.ru>
2024-03-20 22:02:10 +03:00
machine424 2a2e2ed28b
chore(tsdb): set the wbl to nil as well in DBReadOnly.loadDataAsQueryable
Signed-off-by: machine424 <ayoubmrini424@gmail.com>
2024-03-20 17:13:39 +01:00
Arve Knudsen 07332f7427 TestTimeRetention: Split into two sub-tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2024-03-20 15:06:36 +01:00
Björn Rabenstein a9a4fbafb0
Merge pull request #13795 from prometheus/beorn7/maintainers
Tweak MAINTAINERS.md
2024-03-20 13:19:10 +01:00
Arve Knudsen af694dc295 Merge TestDB_BeyondTimeRetention into TestTimeRetention
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2024-03-20 09:07:16 +01:00
dongjiang 11fc7b1d83
chores: bump to golangci-lint v1.56.2 (#13753)
bump to golangci-lint to v1.56.2

---------

Signed-off-by: dongjiang1989 <dongjiang1989@126.com>
2024-03-19 19:24:37 +01:00
Björn Rabenstein 7ba218fbd0
Merge pull request #13791 from bboreham/merge-2.51.0
Merge 2.51.0 into main
2024-03-19 19:15:25 +01:00
Björn Rabenstein 70c7be647b
Merge pull request #13781 from gouthamve/add-arve-as-codeowner-for-otlp
Add Arve as OTLP ingest maintainer
2024-03-19 18:41:02 +01:00
Erlan Zholdubai uulu 742196b6c4
add context cancellation check at get series result iteration (#13766)
* add context cancellation check at get series iteration
* add warnings and closer on error
* add test

---------

Signed-off-by: Erlan Zholdubai uulu <erlanz@amazon.com>
2024-03-19 18:37:43 +01:00
Björn Rabenstein 16164226e5
Merge pull request #13782 from colega/improve-stringlabels-compare
Improve `Labels.Compare()` performance with `stringlabels`
2024-03-19 18:29:32 +01:00
beorn7 e14af52e48 Tweak MAINTAINERS.md
After #13771, the list for specific parts of the codebase looks like
it is part of the "general maintainers" list. This commit makes things
clearer.

Signed-off-by: beorn7 <beorn@grafana.com>
2024-03-19 18:23:55 +01:00
Ben Kochie ac257aa071
Merge pull request #13789 from prometheus/superq/common_repo
Fixup make target in container description
2024-03-19 12:00:17 +01:00