VictoriaMetrics/lib
Aliaksandr Valialkin 5fa9525498
lib/storage: verify that timestamps in block are in the range specified by blockHeader.{Min,Max}Timestamp when upacking the block
This should reduce chances of unnoticed on-disk data corruption.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2998
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3011

This change modifies the format for data exported via /api/v1/export/native -
now this data contains MaxTimestamp and PrecisionBits fields from blockHeader.

This is OK, since the native export format is undocumented.
2022-09-06 13:08:09 +03:00
..
appmetrics all: add ability to push internal metrics to remote storage system specified via -pushmetrics.url 2022-07-21 20:36:27 +03:00
auth lib/promscrape: follow-up after 2c553d5a2f 2022-08-08 14:46:26 +03:00
awsapi all: subsitute ioutil.ReadAll with io.ReadAll 2022-08-22 00:16:37 +03:00
backup all: use os.{Read|Write}File instead of ioutil.{Read|Write}File 2022-08-21 23:52:35 +03:00
blockcache all: remove explicit "xxhash" name when importing github.com/cespare/xxhash/v2 package 2022-06-21 20:23:32 +03:00
bloomfilter lib/promscrape: add the ability to limit the number of unique series per each scrape target 2021-09-01 16:03:59 +03:00
buildinfo
bytesutil all: readability improvements for query traces 2022-06-30 18:20:33 +03:00
cgroup all: use os.{Read|Write}File instead of ioutil.{Read|Write}File 2022-08-21 23:52:35 +03:00
decimal all: fix build issues and tests for Apple M1 2021-10-27 15:06:34 +03:00
encoding lib/storage: verify that timestamps in block are in the range specified by blockHeader.{Min,Max}Timestamp when upacking the block 2022-09-06 13:08:09 +03:00
envflag lib/envflag: use flag.Set for setting the flags from env vars 2021-10-20 00:41:08 +03:00
envtemplate all: support %{ENV_VAR} placeholders in yaml configs in all the vm* components 2020-08-13 17:15:25 +03:00
fastnum
fasttime
filestream lib/fs: add vm_filestream_read_duration_seconds_total and vm_filestream_write_duration_seconds_total metrics 2021-12-02 10:30:42 +02:00
flagutil all: make fmt via the upcoming Go1.19 2022-07-11 19:22:15 +03:00
fs all: subsitute ioutil.ReadAll with io.ReadAll 2022-08-22 00:16:37 +03:00
httpserver app/{vmselect,vmalert}: properly generate http redirects if -http.pathPrefix command-line flag is set 2022-08-02 12:59:07 +03:00
influxutils all: consistently return application/json content-type without charset=utf-8 2021-11-09 18:04:44 +02:00
ingestserver lib/httpserver: move the code, which creates tls.Config, into lib/netutil/tls.go 2022-04-16 15:52:36 +03:00
leveledbytebufferpool all: make fmt via the upcoming Go1.19 2022-07-11 19:22:15 +03:00
logger lib/logger: prettify logging the defined command-line flags 2022-08-07 22:58:29 +03:00
lrucache all: remove explicit "xxhash" name when importing github.com/cespare/xxhash/v2 package 2022-06-21 20:23:32 +03:00
memory lib/memory: export process_memory_limit_bytes metric, which shows the amounts of memory the current process has access to 2022-04-07 15:23:00 +03:00
mergeset all: subsitute ioutil.ReadAll with io.ReadAll 2022-08-22 00:16:37 +03:00
metricsql all: make fmt via the upcoming Go1.19 2022-07-11 19:22:15 +03:00
netutil app/vmstorage: add support for mTLS cipher suites via -cluster.tlsCipherSuites command-line flag 2022-04-16 16:39:21 +03:00
pacelimiter lib/pacelimiter: increase scalability for multi-CPU system 2020-08-06 18:32:59 +03:00
persistentqueue all: use os.ReadDir instead of ioutil.ReadDir 2022-08-22 00:02:25 +03:00
procutil all: add go:build lines for Go1.17 2021-07-26 15:48:21 +03:00
promauth vmalert: allow configuring custom headers per group (#2901) 2022-07-21 15:59:55 +02:00
prompb
prompbmarshal all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:05:11 +03:00
promrelabel lib/promrelabel: call PromRegex.MatchString() on a slow path only if it contains non-empty literal prefix 2022-08-26 21:48:30 +03:00
promscrape Support "HTTP" and "HTTPS" schemes (#3019) 2022-08-27 02:22:37 +03:00
promutils lib/promscrape: properly implement ScrapeConfig.clone() 2022-05-07 00:05:40 +03:00
protoparser all: make fmt via the upcoming Go1.19 2022-07-11 19:22:15 +03:00
proxy lib/promauth: add ability to send additional http headers in requests to scrape targets 2022-06-22 20:39:43 +03:00
pushmetrics lib/pushmetrics: make fmt 2022-07-26 20:40:19 +03:00
querytracer lib/querytracer: make it easier to use by passing trace context message to New and NewChild 2022-06-08 21:06:52 +03:00
regexutil lib/promrelabel: call PromRegex.MatchString() on a slow path only if it contains non-empty literal prefix 2022-08-26 21:48:30 +03:00
snapshot all: subsitute ioutil.ReadAll with io.ReadAll 2022-08-22 00:16:37 +03:00
storage lib/storage: verify that timestamps in block are in the range specified by blockHeader.{Min,Max}Timestamp when upacking the block 2022-09-06 13:08:09 +03:00
storagepacelimiter lib/storage: remove prioritizing of merging small parts over merging big parts, since it doesn't work as expected 2020-07-30 19:57:27 +03:00
syncwg
tenantmetrics app/vmagent: follow-up after fe445f753b 2021-08-05 09:52:32 +03:00
timerpool
uint64set Revert "lib/uint64set: allow reusing bucket16 structs inside uint64set.Set via uint64set.Release method" 2021-07-06 18:21:35 +03:00
workingsetcache lib/workingsetcache: reuse prev cache after its reset 2022-04-05 20:37:45 +03:00
writeconcurrencylimiter fix: change thrashing typo (#2317) 2022-03-15 07:05:52 +00:00