VictoriaMetrics/app/vmselect
Artem Fetishev 91c2b5b24d
Introduce a flag for limiting the number of time series to delete (cluster version) (#7112)
### Describe Your Changes

Introduce the `-search.maxDeleteSeries` flag that limits the number of
time series that can be deleted with a single
`/api/v1/admin/tsdb/delete_series` call.

Currently, any number can be deleted and if the number is big (millions)
then the operation may result in unaccounted CPU and memory usage spikes
which in some cases may result in OOM kill (see #7027). The flag limits
the number to 30k by default and the users may override it if needed at
the vmstorage start time.

Related issue:
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/7027
---------

Signed-off-by: Artem Fetishev <rtm@victoriametrics.com>
2024-09-30 12:43:11 +02:00
..
clusternative all: fix golangci-lint(revive) warnings after 0c0ed61ce7 2024-04-03 03:00:45 +03:00
deployment all: suppress InvalidDefaultArgInFrom warning emitted by docker build when building Docker packages via make package-* command 2024-09-03 14:05:43 +02:00
graphite app/vmselect/graphite: respect denyPartialResponse for graphite requests (#6748) 2024-08-07 12:34:23 +02:00
graphiteql app/vmselect: use strings.EqualFold instead of strings.ToLower where appropriate 2024-05-12 10:21:24 +02:00
multiarch app/*/multiarch: return back empty value for TARGETARCH 2024-09-06 18:15:22 +02:00
netstorage app/vmselect:add command-line flag -search.inmemoryBufSizeBytes (#6869) 2024-08-26 14:37:45 +02:00
prometheus Introduce a flag for limiting the number of time series to delete (cluster version) (#7112) 2024-09-30 12:43:11 +02:00
promql app/vmselect/promql: consistently replace NaN data points with non-NaN values for range_first and range_last functions 2024-09-23 15:00:05 +02:00
querystats all: consistently use stringsutil.JSONString() for formatting JSON strings with fmt.* functions instead of using "%q" formatter 2024-07-17 14:01:37 +02:00
searchutils lib/logstorage: work-in-progress 2024-06-27 14:21:03 +02:00
static/css app/vmselect: properly serve static css for /select/.../metric-relabel-debug page 2022-12-10 03:04:43 -08:00
vmui app/{vmselect,vlselect}: run make vmui-update vmui-logs-update after 25a9802ca4 and 8657d03433 2024-09-27 13:51:58 +02:00
main.go app/vlselect: add /select/logsql/stats_query endpoint, which is going to be used by vmalert 2024-09-06 23:00:58 +02:00
Makefile Add build support for loong64 (#6222) 2024-05-10 14:32:05 +02:00
README.md app/vmselect: expose vmui at /vmselect/<accountID>/vmui/ instead of /vmselect/<accountID>/prometheus/vmui/ 2021-07-10 12:32:21 +03:00
vmui.go app/vmselect: add missing whitespace into the description for -vmui.defaultTimezone command-line flag 2024-02-01 14:49:48 +02:00

vmselect performs the following tasks:

  • Splits incoming selects to tasks for vmstorage nodes and issues these tasks to all the vmstorage nodes in the cluster.

  • Merges responses from all the vmstorage nodes and returns a single response.

The vmui directory contains static contents built from app/vmui package with make vmui-update command. The vmui page is available at http://<vmselect>:8481/select/<accountID>/vmui/.