VictoriaMetrics/lib/mergeset
Aliaksandr Valialkin 1eb3346ecc
lib/{storage,mergeset}: properly fix 'unaligned 64-bit atomic operation' panic on 32-bit architectures
The issue has been introduced in bace9a2501
The improper fix was in the d4c0615dcd ,
since it fixed the issue just by an accident, because Go comiler aligned the rawRowsShards field
by 4-byte boundary inside partition struct.

The proper fix is to use atomic.Int64 field - this guarantees that the access to this field
won't result in unaligned 64-bit atomic operation. See https://github.com/golang/go/issues/50860
and https://github.com/golang/go/issues/19057
2024-02-24 00:25:08 +02:00
..
block_header.go lib/mergeset: properly reset bsr.bhIdx after the call to blockStreamReader.readNextBHS() 2022-11-16 21:22:51 +02:00
block_stream_reader.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:47:20 -07:00
block_stream_reader_test.go lib/mergeset: use deterministic random generator in tests 2023-01-23 19:44:10 -08:00
block_stream_writer.go lib/mergeset: properly record the firstItem in metaindexRow at blockStreamWriter.WriteBlock 2024-02-12 20:16:50 +02:00
encoding.go lib/mergeset: do not store commonPrefix in blockHeader if the block contains only a single item 2024-02-08 14:14:22 +02:00
encoding_test.go lib/mergeset: use deterministic random generator in tests 2023-01-23 19:44:10 -08:00
encoding_timing_test.go lib/mergeset: fix data race in BenchmarkInmemoryBlockMarshal 2023-01-23 19:44:07 -08:00
filenames.go lib/mergeset: consistently use OS-independent separator in file paths 2023-03-25 14:34:33 -07:00
inmemory_part.go lib/mergeset: verify that the index block for in-memory part doesnt exceed the 3*maxIndexBlockSize 2024-02-08 14:14:22 +02:00
merge.go lib/mergeset: make sure that the first and the last items are in the original range after prepareBlock() 2024-01-23 12:59:04 +02:00
merge_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:47:20 -07:00
metaindex_row.go lib/mergeset: prevent from possible too big indexBlockSize panic 2024-02-08 12:55:58 +02:00
part.go lib/mergeset: typo fix: indexdb/indexBlock -> indexdb/indexBlocks 2024-02-08 14:14:23 +02:00
part_header.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:47:20 -07:00
part_search.go lib/mergeset: remove inmemoryBlock pooling, since it wasn't effecitve 2024-01-26 21:34:22 +01:00
part_search_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:47:20 -07:00
table.go lib/{storage,mergeset}: properly fix 'unaligned 64-bit atomic operation' panic on 32-bit architectures 2024-02-24 00:25:08 +02:00
table_search.go optimized code (#2103) 2022-01-28 12:10:47 +02:00
table_search_test.go lib/fs: add MustReadDir() function 2023-04-14 22:11:40 -07:00
table_search_timing_test.go lib/fs: add MustReadDir() function 2023-04-14 22:11:40 -07:00
table_test.go app/vmstorage: deprecate -snapshotCreateTimeout command-line flag 2024-02-23 04:51:57 +02:00