| You can have DeepWiki literally scan the source code and tell you: > 2. Delayed Sync Mode (Default) > In the default mode, writes are batched and marked with needSync = true for later synchronization filestore.go:7093-7097 . The actual sync happens during the next syncBlocks() execution. However, if you read DeepWiki's conclusion, it is far more optimistic than what Aphyr uncovered in real-world testing. > Durability Guarantees > Even with delayed fsyncs, NATS provides protection against data loss through: > 1. Write-Ahead Logging: Messages are written to log files before being acknowledged > 2. Periodic Sync: The sync timer ensures data is eventually flushed to disk > 3. State Snapshots: Full state is periodically written to index.db files filestore.go:9834-9850 > 4. Error Handling: If sync operations fail, NATS attempts to rebuild state from existing data filestore.go:7066-7072" https://deepwiki.com/search/will-nats-lose-uncommitted-wri_b... |
Well, its an LLM ... of course its going to be optimistic. ;-)