mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-08-21 06:36:54 +00:00
Phase 6: Root Cause Discovered - NOT Disk Read Bug After comprehensive debugging with server-side logging: What We Found: ✅ Disk read works correctly (reads what exists on disk) ✅ Cache works correctly (caches what was read) ✅ Extraction works correctly (returns what's cached) ❌ DATA IS MISSING from both disk and memory! The Evidence: Request offset: 1764 Disk has: 1000-1763 (764 messages) Memory starts at: 1800 Gap: 1764-1799 (36 messages) ← LOST! Root Cause: Buffer flush logic creates GAPS in offset sequence Messages are lost when flushing from memory to disk bufferStartOffset jumps (1763 → 1800) instead of incrementing Changes: - log_read_stateless.go: Simplified cache extraction to return empty for gaps - Removed complex invalidation/retry (data genuinely doesn't exist) Test Results: Original: 87.9% delivery Cache invalidation attempt: 73.3% (cache thrashing) Gap handling: 82.1% (confirms data is missing) Next: Fix buffer flush logic in log_buffer.go to prevent offset gaps