VictoriaMetrics/lib/storage
Aliaksandr Valialkin 145337792d
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:37:17 +02:00
..
block.go lib/storage: deduplicate samples more thoroughly 2021-12-15 15:59:58 +02:00
block_header.go lib/storage: correctly use maxBlockSize in various checks 2020-09-24 18:12:56 +03:00
block_header_test.go lib/storage: typo fix: umarshal -> unmarshal 2021-03-02 20:47:59 +02:00
block_stream_merger.go 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
block_stream_reader.go lib/storage: reuse timestamp blocks for adjancent metric blocks with identical timestamps 2020-09-09 23:59:32 +03:00
block_stream_reader_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:05:11 +03:00
block_stream_reader_timing_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:05:11 +03:00
block_stream_writer.go lib/storage: deduplicate samples more thoroughly 2021-12-15 15:59:58 +02:00
block_stream_writer_timing_test.go lib/storage: deduplicate samples more thoroughly 2021-12-15 15:59:58 +02:00
block_test.go lib/storage: fix tests for 32-bit arches such as GOARCH=386 and GOARCH=arm 2020-09-29 13:10:22 +03:00
dedup.go lib/storage: deduplicate samples more thoroughly 2021-12-15 15:59:58 +02:00
dedup_test.go lib/storage: explicitly pass dedupInterval to DeduplicateSamples() and deduplicateSamplesDuringMerge() 2021-12-14 20:49:12 +02:00
dedup_timing_test.go lib/storage: explicitly pass dedupInterval to DeduplicateSamples() and deduplicateSamplesDuringMerge() 2021-12-14 20:49:12 +02:00
index_db.go lib/storage: follow-up for 38bf5fc136 2022-01-05 16:00:11 +02:00
index_db_test.go lib/storage: verify that the tsidsFound contain the needed tsids in tests added at f4dead529f 2021-09-11 10:57:13 +03:00
index_db_timing_test.go lib/storage: reset cache on disk during series deletion and during indexdb rotation 2021-06-11 12:42:28 +03:00
inmemory_part.go lib/{mergeset,storage}: switch from sync.Pool to chan-based pool for inmemoryPart objects 2021-07-06 16:28:41 +03:00
inmemory_part_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
inmemory_part_timing_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
merge.go lib/storage: deduplicate samples more thoroughly 2021-12-15 15:59:58 +02:00
merge_test.go app/vmstorage: support for -retentionPeriod smaller than one month 2020-10-20 14:31:44 +03:00
merge_timing_test.go app/vmstorage: support for -retentionPeriod smaller than one month 2020-10-20 14:31:44 +03:00
metaindex_row.go lib/storage: correctly use maxBlockSize in various checks 2020-09-24 18:12:56 +03:00
metaindex_row_test.go lib/storage: correctly use maxBlockSize in various checks 2020-09-24 18:12:56 +03:00
metric_name.go all: use logger.WithThrottler() where appropriate 2021-12-21 17:03:25 +02:00
metric_name_test.go app/vminsert: add support for data ingestion via other vminsert nodes 2021-05-08 19:52:57 +03:00
part.go lib/{mergeset,storage}: properly limit cache sizes for indexdb 2022-01-20 18:37:17 +02:00
part_header.go lib/storage: deduplicate samples more thoroughly 2021-12-15 15:59:58 +02:00
part_header_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
part_search.go lib/{mergeset,storage}: properly limit cache sizes for indexdb 2022-01-20 18:37:17 +02:00
part_search_test.go Revert "lib/storage: remove unused fetchData arg from BlockRef.MustReadBlock" 2020-09-24 22:44:23 +03:00
partition.go lib/{mergeset,storage}: properly limit cache sizes for indexdb 2022-01-20 18:37:17 +02:00
partition_search.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:05:11 +03:00
partition_search_test.go app/vmstorage: support for -retentionPeriod smaller than one month 2020-10-20 14:31:44 +03:00
partition_test.go lib/{mergeset,storage}: improve the detection of the needed free space for background merge 2021-08-25 09:35:44 +03:00
raw_block.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
raw_row.go lib/storage: deduplicate samples more thoroughly 2021-12-15 15:59:58 +02:00
search.go app/vmselect: follow-up for 626073bca8 2021-07-28 18:00:23 +03:00
search_test.go app/vmstorage: add ability to limit series cardinality via -storage.maxHourlySeries and -storage.maxDailySeries command-line flags 2021-05-20 14:15:19 +03:00
storage.go adds restore.lock (#1988) 2021-12-22 13:10:15 +02:00
storage_test.go all: typo fix: unexected -> unexpected 2021-12-20 17:39:52 +02:00
storage_timing_test.go app/vmstorage: add ability to limit series cardinality via -storage.maxHourlySeries and -storage.maxDailySeries command-line flags 2021-05-20 14:15:19 +03:00
table.go lib/storage: deduplicate samples more thoroughly 2021-12-15 15:59:58 +02:00
table_search.go app/vmstorage: support for -retentionPeriod smaller than one month 2020-10-20 14:31:44 +03:00
table_search_test.go app/vmstorage: support for -retentionPeriod smaller than one month 2020-10-20 14:31:44 +03:00
table_search_timing_test.go lib/storage: consistency renaming: getMaxRawRowsPerPartition -> getMaxRawRowsPerShard 2021-06-11 10:57:23 +03:00
table_test.go app/vmstorage: support for -retentionPeriod smaller than one month 2020-10-20 14:31:44 +03:00
table_timing_test.go all: properly handle CPU limits set on the host system/container 2020-12-08 21:07:29 +02:00
tag_filters.go lib/storage: follow-up for 38bf5fc136 2022-01-05 16:00:11 +02:00
tag_filters_test.go lib/storage: properly handle {__name__=~"prefix(suffix1|suffix2)",other_label="..."} queries 2021-09-23 21:48:51 +03:00
tag_filters_timing_test.go lib/storage: small code adjustements after d2960a20e0 2020-10-17 01:16:54 +03:00
time.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:05:11 +03:00
time_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
tsid.go all: remove the remaining mentions of cluster version 2019-11-21 23:18:22 +02:00
tsid_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00