VictoriaMetrics/lib/storage
Nikolay 5eb5df96e2
lib/storage: creates parts.json on start-up if it not exists. (#4450)
* lib/storage: creates parts.json on start-up if it not exists.
It fixes migrations from versions below v1.90.0.
Previously parts.json was created only after successful merge.
But if merge was interruped for some reason (OOM or shutdown), parts.json wasn't created and partitions left after interruped merge weren't properly deleted.
Since VM cannot check if it must be removed or not.
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4336

* Apply suggestions from code review

Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>

* Update lib/storage/partition.go

Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>

---------

Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>
2023-06-15 11:19:22 +02:00
..
block.go lib/storage: validate timestamps in the block only if they use encoding, which needs validation 2022-10-21 00:52:32 +03:00
block_header.go 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
block_header_test.go lib/storage: typo fix: umarshal -> unmarshal 2021-03-02 20:47:59 +02:00
block_stream_merger.go lib/storage: skip blocks outside the configured retention during search 2022-10-24 02:52:44 +03:00
block_stream_reader.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
block_stream_reader_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
block_stream_reader_timing_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
block_stream_writer.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
block_stream_writer_timing_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
block_test.go lib/storage: use deterministic random generator in tests 2023-01-23 20:10:32 -08:00
dedup.go app,lib: fix typos in comments (#3804) 2023-02-13 13:27:13 +01:00
dedup_test.go lib/storage: follow-up after 7c0ae3a86a 2022-12-08 18:16:57 -08:00
dedup_timing_test.go lib/storage: follow-up after 7c0ae3a86a 2022-12-08 18:16:57 -08:00
filenames.go lib/storage: consistently use OS-independent separator in file paths 2023-03-25 14:33:58 -07:00
index_db.go lib/storage: revert the migration from global to per-day index for (MetricName -> TSID) 2023-05-18 11:30:49 -07:00
index_db_test.go lib/storage: revert the migration from global to per-day index for (MetricName -> TSID) 2023-05-18 11:30:49 -07:00
index_db_timing_test.go lib/storage: revert the migration from global to per-day index for (MetricName -> TSID) 2023-05-18 11:30:49 -07:00
inmemory_part.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
inmemory_part_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
inmemory_part_timing_test.go lib/storage: use deterministic random generator in tests 2023-01-23 20:10:32 -08:00
merge.go lib/storage: optimization: do not scan block for rows outside retention if it is covered by the retention 2022-12-03 22:14:12 -08:00
merge_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
merge_timing_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
metaindex_row.go all: subsitute ioutil.ReadAll with io.ReadAll 2022-08-22 00:16:37 +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 lib/storage: log original labels set when label value is truncated (#3952) 2023-03-14 10:59:40 +01: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/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
part_header.go lib/storage: fix a bug, which prevents from reading pre-v1.90.0 parts 2023-04-14 22:33:08 -07:00
part_search.go lib/storage: optimize partSearch.searchBHS() for common case when the TSID for the current block header is bigger or equal to the current tsid 2022-12-19 10:28:03 -08:00
part_search_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
part_search_timing_test.go lib/storage: skip missing tsids in the current block header by using binary search 2022-12-14 22:06:51 -08:00
partition.go lib/storage: creates parts.json on start-up if it not exists. (#4450) 2023-06-15 11:19:22 +02:00
partition_search.go lib/storage: fixes finalDedup for backfilled data (#3737) 2023-02-01 09:54:21 -08:00
partition_search_test.go lib/storage: replace OpenStorage() with MustOpenStorage() 2023-04-14 23:02:40 -07:00
partition_test.go lib/storage: remove unused code (#4050) 2023-04-02 21:24:42 -07:00
raw_block.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
raw_row.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
search.go app,lib: fix typos in comments (#3804) 2023-02-13 13:27:13 +01:00
search_test.go lib/storage: replace OpenStorage() with MustOpenStorage() 2023-04-14 23:02:40 -07:00
storage.go lib/storage: revert the migration from global to per-day index for (MetricName -> TSID) 2023-05-18 11:30:49 -07:00
storage_test.go lib/storage: follow-up after a50d63c376 (#4289) 2023-05-16 17:14:08 +02:00
storage_timing_test.go lib/storage: replace OpenStorage() with MustOpenStorage() 2023-04-14 23:02:40 -07:00
table.go lib/storage: replace OpenStorage() with MustOpenStorage() 2023-04-14 23:02:40 -07:00
table_search.go lib/storage: do not pass retentionMsecs and isReadOnly args explicitly - access them via Storage arg 2022-10-24 01:31:04 +03:00
table_search_test.go lib/storage: replace OpenStorage() with MustOpenStorage() 2023-04-14 23:02:40 -07:00
table_search_timing_test.go lib/storage: replace OpenStorage() with MustOpenStorage() 2023-04-14 23:02:40 -07:00
table_test.go lib/storage: replace OpenStorage() with MustOpenStorage() 2023-04-14 23:02:40 -07:00
table_timing_test.go lib/storage: replace OpenStorage() with MustOpenStorage() 2023-04-14 23:02:40 -07:00
tag_filters.go lib/storage: optimize matching speed for non-trivial regexp filters 2022-10-01 12:06:06 +03:00
tag_filters_test.go lib/regexutil: add Simplify() function for simplifying the regular expression 2022-08-26 11:57:12 +03:00
tag_filters_timing_test.go lib/regexutil: add Simplify() function for simplifying the regular expression 2022-08-26 11:57:12 +03:00
time.go app,lib: fix typos in comments (#3804) 2023-02-13 13:27:13 +01: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