VictoriaMetrics/app/vmselect
Roman Khavronenko cb23685681
app/vmselect: make vmselect resilient to absence of cache folder (#5987)
vmselect uses a cache folder in file system for two purposes:
1. Storing rollup cache results on shutdown;
2. Storing temporary search results from vmstorage during query executions.

It could happen that cache folder is deleted accidentally by user, or by OS
during cleanup routines. This would cause vmselect to:
1. panic on /metrics call, because `MustGetFreeSpace` will fail;
2. return query error user, as it won't be able to store temporary search results.

The changes in this commit are the following:
1. Make `MustGetFreeSpace` to try re-creating the cache folder if it is missing;
2. Make vmselect to try re-creating the cache folder if it can't persist tmp search
results.

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

Signed-off-by: hagen1778 <roman@victoriametrics.com>
Co-authored-by: Nikolay <nik@victoriametrics.com>
2024-03-26 12:59:50 +01:00
..
graphite app: consistently use atomic.* types instead of atomic.* functions 2024-02-24 02:44:24 +02:00
graphiteql app,lib: fix typos in comments (#3804) 2023-02-13 13:27:13 +01:00
netstorage app/vmselect: make vmselect resilient to absence of cache folder (#5987) 2024-03-26 12:59:50 +01:00
prometheus app/vmselect: use GetDeadlineForLabelsAPI for LabelAPI requests (#5992) 2024-03-25 15:07:34 +01:00
promql app/vmselect/promql: use unsafe.Slice instead of deprecated reflect.SliceHeader 2024-02-29 17:50:07 +02:00
querystats app/vmselect: do not track queries with less than 1ms execution time at /api/v1/status/top_queries 2021-07-15 16:44:28 +03:00
searchutils docs: follow-up for 70eaa06f08 2024-03-25 15:30:56 +01:00
vmui fix typo in kyiv city name 2024-03-23 21:56:31 +01:00
main.go vmsingle/vmselect returns http status 429 (TooManyRequests) instead of 503 (ServiceUnavailable) when max concurrent requests limit is reached. (#5682) 2024-01-24 17:55:06 +01:00
README.md app/vmui: move source code from https://github.com/VictoriaMetrics/vmui to app/vmui 2021-07-09 17:15:23 +03:00
vmui.go app/vmselect: add missing whitespace into the description for -vmui.defaultTimezone command-line flag 2024-02-01 14:49:51 +02:00

vmselect performs the incoming queries and fetches the required data from vmstorage.

The vmui directory contains static contents built from app/vmui package with make vmui-update command. The vmui page is available at http://<victoria-metrics>:8428/vmui/.