Commit graph

5929 commits

Author SHA1 Message Date
Aliaksandr Valialkin
f9d1880477
app/vmselect/promql: simplify the code after 388d020b7c
Add a test, which verifies the correct sorting of float64 slices with NaNs.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5506
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5509
2024-01-16 22:37:35 +02:00
Aliaksandr Valialkin
c7595ca0ea
app/vmselect/promql: follow-up for ce4f26db02
- Document the bugfix at docs/CHANGELOG.md
- Filter out NaN values before sorting as suggested at https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5509#discussion_r1447369218
- Revert unrelated changes in lib/filestream and lib/fs
- Use simpler test at app/vmselect/promql/exec_test.go

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5509
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5506
2024-01-16 22:20:42 +02:00
Zongyang
bcb3626d1f
FIX bottomk doesn't return any data when there are no time range overlap between timeseries (#5509)
* FIX sort order in bottomk

* Add lessWithNaNsReversed for bottomk

* Add ut for TopK

* Move lt from loop

* FIX lint

* FIX lint

* FIX lint

* Mod log format

---------

Co-authored-by: xiaozongyang <xiaozngyang@kanyun.com>
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2024-01-16 22:20:40 +02:00
Aliaksandr Valialkin
480dd7fb50
app/vmstorage: addd missing -inmemoryDataFlushInterval command-line flag
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3337
2023-12-14 21:11:42 +02:00
Aliaksandr Valialkin
9771f92796
docs/CHANGELOG.md: document the bugfix at 66c76a4d4d
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5414
2023-12-14 12:52:48 +02:00
Anton Tykhyy
8754d49186
Fix sum(aggr_over_time) 'got 1 args' error (#3028) (#5414)
app/vmselect/promql/eval.go:evalAggrFunc shunts evaluation
of AggrFuncExpr over rollupFunc over MetricsExpr to an optimized
path. tryGetArgRollupFuncWithMetricExpr() checks whether expression
can be shunted, but it mangles the AggrFuncExpr when the aggregation
function has more than one argument. This results in queries like
`sum(aggr_over_time("avg_over_time",m))` failing with error message
'expecting at least 2 args to "aggr_over_time"; got 1 args' while
the analogous query `sum(avg_over_time(m))` executes successfully.
This fix removes the unnecessary mangling.

Signed-off-by: Anton Tykhyy <atykhyy@gmail.com>
2023-12-14 12:52:47 +02:00
Aliaksandr Valialkin
f6f44635c2
vendor: run make vendor-update 2023-12-10 13:54:19 +02:00
Aliaksandr Valialkin
cb3cbdbac8
docs/CHANGELOG.md: cut v1.87.12 release 2023-12-10 13:46:31 +02:00
Aliaksandr Valialkin
6234d1b64d
deployment/docker: update base Docker image from alpine:3.18.5 to alpine:3.19.0
See https://www.alpinelinux.org/posts/Alpine-3.19.0-released.html
2023-12-10 02:30:17 +02:00
Aliaksandr Valialkin
0063b4fc50
Makefile: update golangci-lint version from v1.54.2 to v1.55.1
See https://github.com/golangci/golangci-lint/releases/tag/v1.55.1
2023-12-08 18:30:23 +02:00
Roman Khavronenko
f0099c4db7
app/vmalert: sanitize label names before sending to Alertmanager (#5442)
Before, vmalert would send notifications with labels containing characters
  not supported by Alertmanager validator, resulting into validation errors
  like `msg="Failed to validate alerts" err="invalid label set: invalid name "foo.bar"`

Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-12-08 18:12:42 +02:00
Aliaksandr Valialkin
ae38a4db97
app/vmselect/prometheus: properly encode Prometheus label values at /federate endpoint
Prometheus spec says that only \, \n and " must be escaped inside label values.
See 995743836e/content/docs/instrumenting/exposition_formats.md (L90)

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5431
2023-12-07 16:13:59 +02:00
Aliaksandr Valialkin
4f82bde65a
deployment/docker: update Go builder from Go1.21.4 to Go1.21.5
See https://github.com/golang/go/issues?q=milestone%3AGo1.21.5+label%3ACherryPickApproved
2023-12-07 00:16:26 +02:00
Aliaksandr Valialkin
81d24dcf1f
deployment/docker: update backe Docker image from alpine 3.18.4 to 3.18.5
See https://www.alpinelinux.org/posts/Alpine-3.15.11-3.16.8-3.17.6-3.18.5-released.html
2023-12-03 18:58:31 +02:00
Max Golionko
71e92ce7c7
CI: disable docker scan, enable auto release to sandbox (#4476)
* disable docker scan

* disable nightly, enable auto release to sandbox

* remove whitespace
2023-11-15 12:16:36 +01:00
Aliaksandr Valialkin
dcea8dedb6
vendor: run make vendor-update 2023-11-14 22:08:00 +01:00
Aliaksandr Valialkin
7227dca1df
app/vmalert/datasource: test fix after 8a1b93a49d 2023-11-14 22:06:51 +01:00
Aliaksandr Valialkin
1c536ee7d3
docs/CHANGELOG.md: cut v1.87.11 LTS release 2023-11-14 21:56:01 +01:00
Nikolay
a6fb5519d2
lib/querytracer: makes package concurrent safe to use (#5322)
* lib/querytracer: makes package concurrent safe to use
it must fix various issues with concurrent code usage.
Especially, when it's not reasonable to wait for all goroutines to be finished

* wip

---------

Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-11-14 21:01:53 +01:00
Noah Labrecque
6a6bbad034
fix: apply correct bounds to sf and tf (#5274) 2023-11-14 01:52:28 +01:00
Aliaksandr Valialkin
25877ddc03
deployment: update Go builder from Go1.21.3 to Go1.21.4
See https://github.com/golang/go/issues?q=milestone%3AGo1.21.4+label%3ACherryPickApproved
2023-11-13 18:32:06 +01:00
Aliaksandr Valialkin
2b3235414b
lib/regexutil: properly handle alternate regexps surrounded by .+ or .*
Previously the following regexps were improperly handled:

  .+foo|bar.+
  .*foo|bar.*

This could lead to unexpected regexp match results.

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5297

Thanks to @Haleygo for the initial attempt to fix the issue at https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5308
2023-11-13 18:29:42 +01:00
Aliaksandr Valialkin
2f23445d40
go.mod: increase the minimum supported Go version from Go1.19 to Go1.20 2023-11-02 21:32:18 +01:00
Aliaksandr Valialkin
ec67641974
vendor: run make vendor-update 2023-11-02 21:18:42 +01:00
Aliaksandr Valialkin
93f532a911
lib/persistentqueue: use the proper function call after 31945fb38d 2023-11-02 21:18:42 +01:00
Aliaksandr Valialkin
cba85259ab
go.mod: pin the latest working version of golang.org/x/exp and github.com/VictoriaMetrics/metricsql 2023-11-02 21:18:42 +01:00
Aliaksandr Valialkin
634eb595f0
lib/persistentqueue: properly re-create flock.lock file inside directory if persistent queue is broken.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5249

Thanks to @Sniper91 for the bugreport and initial fix at https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5233
2023-10-31 18:37:26 +01:00
Aliaksandr Valialkin
72a7f3c390
lib/storage: follow-up for 29cebd82fb
Use atomic.CompareAndSwapUint32() instead of atomic.LoadUint32() followed by atomic.StoreUint32().
This makes the code more clear.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5159
2023-10-31 16:30:41 +01:00
Roman Khavronenko
d550a2d85a
lib/storage: log warning about RO mode only on state change (#5191)
Before, vmstorage would log the same message each second producing excessive
amount of logs.

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5159

Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-10-31 16:30:39 +01:00
Aliaksandr Valialkin
9407c0f038
docs/CHANGELOG.md: cut v1.87.10 2023-10-16 22:23:14 +02:00
Aliaksandr Valialkin
950edad2e3
deployment/docker: update Go builder from Go1.21.1 to Go1.21.3
See https://github.com/golang/go/issues?q=milestone%3AGo1.21.2+label%3ACherryPickApproved
and https://github.com/golang/go/issues?q=milestone%3AGo1.21.3+label%3ACherryPickApproved
2023-10-15 18:58:02 +02:00
Aliaksandr Valialkin
24e178e910
docs/CHANGELOG.md: remove duplicate line after 14471496fe 2023-10-02 22:17:14 +02:00
Aliaksandr Valialkin
10db7e50f4
deployment/docker: update Alpine from 3.18.3 to 3.18.4
See https://alpinelinux.org/posts/Alpine-3.18.4-released.html
2023-10-02 22:14:49 +02:00
Dmytro Kozlov
d8748a3398
app/vmagent: fix check of the DataDog agent path requests when requests have trailing slashes (#5106)
* app/vmagent: fix check of the DataDog agent path requests when requests have trailing slashes

* app/vmagent: fix CHANGELOG.md description

* wip

* wip

---------

Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-10-02 21:22:39 +02:00
Aliaksandr Valialkin
d55ca23837
app/vmagent: follow-up for cfef814750
- Properly handle /insert/multitenant/api/put url for opentsdb handler at vmagent
- Document that the bug has been introduced in v1.93.2 at docs/CHANGELOG.md
- Add a link to multitenant url docs in bugfix description

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5061
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4910
2023-10-01 21:06:47 +02:00
Alexander Marshalov
d8cd6edd55
fixed ingestion via multitenant url for opentsdbhttp (#5061) (#5063) 2023-10-01 21:05:47 +02:00
hagen1778
0c2257a61f
build(deps): revert version change for codecov/codecov-action from 4 to 3
https://github.com/codecov/codecov-action/issues/1089
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-09-19 10:36:22 +02:00
Aliaksandr Valialkin
f5a1dc2015
docs/CHANGELOG.md: clarify the description of bugfixes at f7dda12b4d and b6ad581b45
This is a follow-up for 8b01bc4a5c

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4999
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5009
2023-09-19 00:50:22 +02:00
Nikolay
14c874e840
docs: reflect recent changes at change logs (#5015) 2023-09-19 00:34:30 +02:00
dependabot[bot]
946d36154f
build(deps): bump codecov/codecov-action from 3 to 4 (#5011)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-19 00:31:18 +02:00
faceair
2d3f09b6d9
lib/storage: remove ForceMergeAllParts internal loop (#4999)
Signed-off-by: faceair <git@faceair.me>
2023-09-18 16:38:00 +02:00
Aliaksandr Valialkin
ba7892d1de
docs/CHANGELOG.md: cut v1.87.9 2023-09-10 20:40:05 +02:00
Aliaksandr Valialkin
7bbaff4d8a
app/vmselect/netstorage: run make fmt after 58326dbf25 2023-09-10 15:25:49 +02:00
Aliaksandr Valialkin
f719fcb0b6
docs/CHANGELOG.md: fix the release where the issue has been introduced 2023-09-09 06:14:50 +02:00
Roman Khavronenko
ada9afc74c
vmalert: correctly add duplicated params to the query (#4955)
Fix the bug when Group's `params` fields with multiple values were
overriding each other instead of adding up.
The bug was introduced in this commit eccecdf177
 starting from v1.91.1 https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.91.1

 https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4908

Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit 6351d07da8)
2023-09-08 09:37:54 +02:00
Aliaksandr Valialkin
8ff9235717
app/vmselect: return 503 status code when partial responses are denied and some of vmstorage nodes are temporarily unavailable
This should help detecting this case and automatic retrying the query at healthy cluster replica
in another availability zone.

This commit is needed as a preparation for automatic query retry at another backend at vmauth on 5xx errors
as described at https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4792#issuecomment-1674338561
2023-09-07 16:17:14 +02:00
Aliaksandr Valialkin
841465d98a
all: update Go builder from Go1.21.0 to Go1.21.1
See https://github.com/golang/go/issues?q=milestone%3AGo1.21.1+label%3ACherryPickApproved
2023-09-07 11:42:57 +02:00
Aliaksandr Valialkin
fe63176d4c
docs/CHANGELOG.md: clarify the scope of recent bugfixes 2023-09-07 11:29:03 +02:00
Aliaksandr Valialkin
3ac6f89559
deployment/docker: properly build armv5 production builds for GOARCH=arm
Pass GOARM=5 when building GOARCH=arm production builds, since the default value for this env var
has been changed to GOARM=6 since Go1.21.0.

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4965
and https://github.com/golang/go/issues/62475
2023-09-07 11:29:03 +02:00
Aliaksandr Valialkin
d651f70c96
docs/CHANGELOG.md: document the bugfix at 7db72dd7e6
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4947
2023-09-06 12:13:14 +02:00