VictoriaMetrics/lib/mergeset
Aliaksandr Valialkin ea9e2b19a5
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-23 22:27:06 +02:00
..
block_header.go lib/mergeset: properly reset bsr.bhIdx after the call to blockStreamReader.readNextBHS() 2022-11-16 21:23:35 +02: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/mergeset: use deterministic random generator in tests 2023-01-23 19:43:49 -08:00
block_stream_writer.go lib/mergeset: properly record the firstItem in metaindexRow at blockStreamWriter.WriteBlock 2024-02-12 18:06:50 +02:00
encoding.go lib/mergeset: do not store commonPrefix in blockHeader if the block contains only a single item 2024-02-08 13:47:24 +02:00
encoding_test.go lib/mergeset: use deterministic random generator in tests 2023-01-23 19:43:49 -08:00
encoding_timing_test.go lib/mergeset: fix data race in BenchmarkInmemoryBlockMarshal 2023-01-23 19:43:18 -08:00
filenames.go lib/mergeset: consistently use OS-independent separator in file paths 2023-03-25 13:39:41 -07:00
inmemory_part.go lib/mergeset: verify that the index block for in-memory part doesnt exceed the 3*maxIndexBlockSize 2024-02-08 13:50:14 +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:58:32 +02:00
merge_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
metaindex_row.go lib/mergeset: prevent from possible too big indexBlockSize panic 2024-02-08 12:54:10 +02:00
part.go lib/mergeset: typo fix: indexdb/indexBlock -> indexdb/indexBlocks 2024-02-08 13:53:18 +02:00
part_header.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
part_search.go lib/mergeset: remove inmemoryBlock pooling, since it wasn't effecitve 2024-01-26 21:34:57 +01:00
part_search_test.go lib/{storage,mergeset}: convert InitFromFilePart to MustInitFromFilePart 2023-04-14 15:46:12 -07:00
table.go lib/{storage,mergeset}: properly fix 'unaligned 64-bit atomic operation' panic on 32-bit architectures 2024-02-23 22:27:06 +02:00
table_search.go optimized code (#2103) 2022-01-28 14:15:41 +02:00
table_search_test.go lib/fs: add MustReadDir() function 2023-04-14 22:10:46 -07:00
table_search_timing_test.go lib/fs: add MustReadDir() function 2023-04-14 22:10:46 -07:00
table_test.go app/vmstorage: deprecate -snapshotCreateTimeout command-line flag 2024-02-23 04:49:23 +02:00