VictoriaMetrics/lib/mergeset
Aliaksandr Valialkin 6ae584b9b3
lib/{mergeset,storage}: properly limit cache sizes for indexdb
Previously these caches could exceed limits set via `-memory.allowedPercent` and/or `-memory.allowedBytes`,
since limits were set independently per each data part. If the number of data parts was big, then limits could be exceeded,
which could result to out of memory errors.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2007
2022-01-20 18:45:03 +02:00
..
block_header.go lib/{mergeset,storage}: do not use pools for indexBlock and inmemoryBlock during their caching, since this results in higher memory usage in production without any performance gains 2021-02-21 21:43:37 +02:00
block_stream_reader_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
block_stream_reader.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
block_stream_writer.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
encoding_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
encoding_timing_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
encoding.go lib/mergeset: increase pool capacity for inmemoryBlock according to collected profiles from production workload 2021-07-06 13:44:27 +03:00
inmemory_part.go lib/{mergeset,storage}: switch from sync.Pool to chan-based pool for inmemoryPart objects 2021-07-06 16:33:25 +03:00
merge_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
merge.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
metaindex_row.go lib: dump compressed block contents on error during decompression 2020-08-15 14:51:14 +03:00
part_header.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
part_search_test.go lib/mergeset: unconditionally cache indexdb blocks 2021-02-09 00:49:59 +02:00
part_search.go lib/{mergeset,storage}: properly limit cache sizes for indexdb 2022-01-20 18:45:03 +02:00
part.go lib/{mergeset,storage}: properly limit cache sizes for indexdb 2022-01-20 18:45:03 +02:00
table_search_test.go lib/mergeset: unconditionally cache indexdb blocks 2021-02-09 00:49:59 +02:00
table_search_timing_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
table_search.go lib/mergeset: unconditionally cache indexdb blocks 2021-02-09 00:49:59 +02:00
table_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
table.go lib/{mergeset,storage}: properly limit cache sizes for indexdb 2022-01-20 18:45:03 +02:00