VictoriaMetrics/lib/storage
rtm0 1b03d7e6de
Fix inconsistent error handling in Storage.AddRows() (#6583)
`Storage.AddRows()` returns an error only in one case: when
`Storage.updatePerDateData()` fails to unmarshal a `metricNameRaw`. But
the same error is treated as a warning when it happens inside
`Storage.add()` or returned by `Storage.prefillNextIndexDB()`.

This commit fixes this inconsistency by treating the error returned by
`Storage.updatePerDateData()` as a warning as well. As a result
`Storage.add()` does not need a return value anymore and so doesn't
`Storage.AddRows()`.

Additionally, this commit adds a unit test that checks all cases that
result in a row not being added to the storage.

---------

Signed-off-by: Artem Fetishev <wwctrsrx@gmail.com>
Co-authored-by: Nikolay <nik@victoriametrics.com>
2024-07-17 12:55:07 +02:00
..
block_header_test.go
block_header.go lib/encoding: optimize UnmarshalVarUint64, UnmarshalVarInt64 and UnmarshalBytes a bit 2024-05-14 01:30:25 +02:00
block_stream_merger.go all: consistently use 'any' instead of 'interface{}' 2024-07-10 00:23:26 +02:00
block_stream_reader_test.go Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 10:25:49 +02:00
block_stream_reader_timing_test.go
block_stream_reader.go lib/storage: avoid superflouos copy of block header data 2024-02-23 01:11:31 +02:00
block_stream_writer_timing_test.go lib/storage: consistently use atomic.* types instead of atomic.* function calls on ordinary types 2024-02-24 00:33:07 +02:00
block_stream_writer.go lib/storage: consistently use atomic.* types instead of atomic.* function calls on ordinary types 2024-02-24 00:33:07 +02:00
block_test.go all: consistently use %w instead of %s in when error is passed to fmt.Errorf() 2023-10-26 09:44:40 +02:00
block.go lib/encoding: optimize UnmarshalVarUint64, UnmarshalVarInt64 and UnmarshalBytes a bit 2024-05-14 01:30:25 +02:00
dedup_test.go
dedup_timing_test.go
dedup.go docs: mention staleNaN handling during deduplication 2024-01-16 20:11:45 +02:00
filenames.go
index_db_test.go Fix inconsistent error handling in Storage.AddRows() (#6583) 2024-07-17 12:55:07 +02:00
index_db_timing_test.go lib/storage: replace the remaining atomic.* functions with atomic.* types for the sake of consistency 2024-02-24 00:51:03 +02:00
index_db.go lib/uint64set: optimize Set.Has() for nil Set - it should be inlined now 2024-07-16 00:00:46 +02:00
inmemory_part_test.go
inmemory_part_timing_test.go
inmemory_part.go
merge_test.go lib/storage: consistently use atomic.* types instead of atomic.* function calls on ordinary types 2024-02-24 00:33:07 +02:00
merge_timing_test.go lib/storage: consistently use atomic.* types instead of atomic.* function calls on ordinary types 2024-02-24 00:33:07 +02:00
merge.go all: consistently use 'any' instead of 'interface{}' 2024-07-10 00:23:26 +02:00
metaindex_row_test.go
metaindex_row.go
metric_name_test.go
metric_name.go lib/storage: change default value for maxLabelValueLen to 1024 (#6313) 2024-05-22 21:55:21 +02:00
part_header.go lib/storage: add ability to use downsampling for the given series filter (#733) 2024-04-03 02:38:37 +03:00
part_search_test.go
part_search_timing_test.go all: consistently use %w instead of %s in when error is passed to fmt.Errorf() 2023-10-26 09:44:40 +02:00
part_search.go
part.go
partition_search_test.go lib/storage: do not keep rawRows buffer across flush() calls 2024-02-23 01:06:09 +02:00
partition_search.go all: consistently use 'any' instead of 'interface{}' 2024-07-10 00:23:26 +02:00
partition_test.go lib/storage: stop exposing vm_merge_need_free_disk_space metric 2023-09-25 17:00:14 +02:00
partition.go lib/{storage,mergeset}: do not allow setting dataFlushInterval to values smaller than pending{Items,Rows}FlushInterval 2024-07-15 10:11:23 +02:00
raw_block.go
raw_row.go lib/storage: consistently use atomic.* types instead of atomic.* function calls on ordinary types 2024-02-24 00:33:07 +02:00
search_test.go Fix inconsistent error handling in Storage.AddRows() (#6583) 2024-07-17 12:55:07 +02:00
search.go lib/storage: fix SearchQuery.Unmarshal() after 32193b6059 2024-05-14 01:39:01 +02:00
storage_test.go Fix inconsistent error handling in Storage.AddRows() (#6583) 2024-07-17 12:55:07 +02:00
storage_timing_test.go Fix inconsistent error handling in Storage.AddRows() (#6583) 2024-07-17 12:55:07 +02:00
storage.go Fix inconsistent error handling in Storage.AddRows() (#6583) 2024-07-17 12:55:07 +02:00
table_search_test.go
table_search_timing_test.go lib/storage: replace the remaining atomic.* functions with atomic.* types for the sake of consistency 2024-02-24 00:51:03 +02:00
table_search.go all: consistently use 'any' instead of 'interface{}' 2024-07-10 00:23:26 +02:00
table_test.go flagutil: Make .Msecs private (#4906) 2023-09-03 10:37:57 +02:00
table_timing_test.go
table.go lib/storage: consistently use stopCh instead of stop 2024-04-03 02:54:51 +03:00
tag_filters_test.go lib/logstorage: work-in-progress 2024-05-24 03:07:07 +02:00
tag_filters_timing_test.go all: fix golangci-lint(revive) warnings after 0c0ed61ce7 2024-04-03 03:00:45 +03:00
tag_filters.go lib/logstorage: work-in-progress 2024-05-24 03:07:07 +02:00
time_test.go
time.go
tsid_test.go
tsid.go