Roman Khavronenko
a1548d56e6
lib/promscrape: respect 0
value for series_limit
param ( #5663 )
...
* lib/promscrape: respect `0` value for `series_limit` param
Respect `0` value for `series_limit` param in `scrape_config`
even if global limit was set via `-promscrape.seriesLimitPerTarget`.
Previously, `0` value will be ignored in favor of `-promscrape.seriesLimitPerTarget`.
This behavior aligns with possibility to override `series_limit` value via
relabeling with `__series_limit__` label.
Signed-off-by: hagen1778 <roman@victoriametrics.com>
* Update docs/CHANGELOG.md
---------
Signed-off-by: hagen1778 <roman@victoriametrics.com>
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2024-01-23 13:18:27 +02:00
Aliaksandr Valialkin
394c41773c
app/vmselect: handle negative time range start in a generic manner inside NewSearchQuery()
...
This is a follow-up for cf03e11d89
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5553
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5630
2024-01-22 01:44:06 +02:00
Hui Wang
ff5df0a5aa
app/vmselect/promql: properly handle possible negative results caused… ( #5608 )
...
* app/vmselect/promql: properly handle possible negative results caused by float operations precision error in rollup functions like rate() or increase()
* fix test
2024-01-22 01:08:05 +02:00
Nikolay
bbcec4d10d
app/vmselect/netstorage ( #5649 )
...
* app/vmselect/netstorage
correctly handle errGlobal set
* wip
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5649
---------
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2024-01-22 01:04:16 +02:00
Roman Khavronenko
f8d99e7875
app/vmselect: properly calculate start
param for queries with too big look-behind window ( #5630 )
...
Properly determine time range search for instant queries with too big look-behind window like `foo[100y]`.
Previously, such queries could return empty responses even if `foo` is present in database.
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5553
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2024-01-21 23:50:58 +02:00
Aliaksandr Valialkin
3c4c38ad16
LICENSE: update the current year from 2023 to 2024
2024-01-17 01:49:13 +02:00
Aliaksandr Valialkin
a9c843ca9d
docs/CHANGELOG.md: typo fix
2024-01-17 01:02:57 +02:00
Aliaksandr Valialkin
b0c9bc990d
docs/CHANGELOG.md: cut v1.87.13
2024-01-17 00:20:14 +02:00
Aliaksandr Valialkin
cb6b526f56
deployment/docker: update Go builder from Go1.21.5 to Go1.21.6
2024-01-17 00:11:19 +02:00
Aliaksandr Valialkin
4f3764b140
lib/pushmetrics: wait until the background goroutines, which push metrics, are stopped at pushmetrics.Stop()
...
Previously the was a race condition when the background goroutine still could try collecting metrics
from already stopped resources after returning from pushmetrics.Stop().
Now the pushmetrics.Stop() waits until the background goroutine is stopped before returning.
This is a follow-up for https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5549
and the commit fe2d9f6646
.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5548
2024-01-16 23:44:31 +02:00
hagen1778
978faf571d
app/all: follow-up after 84d710beab
...
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5548
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2024-01-16 23:43:40 +02:00
zhdd99
b084200167
lib/pushmetrics: fix a panic caused by pushing metrics during the graceful shutdown process of vmstorage nodes. ( #5549 )
...
Co-authored-by: zhangdongdong <zhangdongdong@kuaishou.com>
Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>
2024-01-16 23:42:19 +02:00
Aliaksandr Valialkin
1338b9b871
vendor: run make vendor-update
2024-01-16 23:00:09 +02:00
Aliaksandr Valialkin
77700b0040
lib/storage: follow-up for 4b8088e377
...
- Clarify the bugfix description at docs/CHANGELOG.md
- Simplify the code by accessing prefetchedMetricIDs struct under the lock
instead of using lockless access to immutable struct.
This shouldn't worsen code scalability too much on busy systems with many CPU cores,
since the code executed under the lock is quite small and fast.
This allows removing cloning of prefetchedMetricIDs struct every time
new metric names are pre-fetched. This should reduce load on Go GC,
since the cloning of uin64set.Set struct allocates many new objects.
2024-01-16 22:46:35 +02:00
Roman Khavronenko
4ad7c34414
lib/storage: properly check for storage/prefetchedMetricIDs
cache expiration deadline ( #5607 )
...
Before, this cache was limited only by size.
Cache invalidation by time happens with jitter to prevent thundering herd problem.
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2024-01-16 22:41:22 +02:00
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