mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-08-21 06:36:54 +00:00
Phase 7: Unit Test Creation Created comprehensive unit tests in log_buffer_flush_gap_test.go: - TestFlushOffsetGap_ReproduceDataLoss: Tests for gaps between disk and memory - TestFlushOffsetGap_CheckPrevBuffers: Tests if data stuck in prevBuffers - TestFlushOffsetGap_ConcurrentWriteAndFlush: Tests race conditions - TestFlushOffsetGap_ForceFlushAdvancesBuffer: Tests offset advancement Initial Findings: - Tests run but don't reproduce exact production scenario - Reason: AddToBuffer doesn't auto-assign offsets (stays at 0) - In production: messages come with pre-assigned offsets from MQ broker - Need to use AddLogEntryToBuffer with explicit offsets instead Test Structure: - Flush callback captures minOffset, maxOffset, buffer contents - Parse flushed buffers to extract actual messages - Compare flushed offsets vs in-memory offsets - Detect gaps, overlaps, and missing data Next: Enhance tests to use explicit offset assignment to match production scenario