Jepsen: NATS 2.12.1
10 comments
·December 8, 2025merb
> 3.4 Lazy fsync by Default
Why? Why do some databases do that? To have better performance in benchmarks? It’s not like that it’s ok to do that if you have a better default or at least write a lot about it. But especially when you run stuff in a small cluster you get bitten by stuff like that.
thinkharderdev
> To have better performance in benchmarks
Yes, exactly.
clemlesne
NATS is a fantastic piece of software. But doc’s unpractical and half backed. That’s a shame to be required to retro engineer the software from GitHub to know the auth schemes.
belter
> NATS is a fantastic piece of software.
- ACKed messages can be silently lost due to minority-node corruption.
- Single-bit corruption can erase up to 78% of stored messages on some replicas.
- Snapshot corruption may trigger full-stream deletion across the cluster.
- Default lazy-fsync wipes minutes of acknowledged writes on crash.
- Crash + delay can produce persistent split-brain and divergent logs
Are you the Mother? Because only a Mother could love such a ugly baby....
hurturue
do you have a better solution?
as they would say, NATS is a terrible message bus system, but all the others are worse
gostsamo
Thanks, those reports are always a quiet pleasure to read even if one is a bit far from the domain.
selectodude
Definitely thought this was about aviation for a moment.
Infiltrator
Likewise. It took me a moment to realise Jepsen!== Jeppesen
sam_lowry_
I thought it was about porn. Did someone already wrote a book about N.A.T.S., Manwin and the early days of the Internet.
Fabian? Anyone?
Sort of related. Jepsen and Antithesis recently released a glossary of common terms which is a fantastic reference.
https://jepsen.io/blog/2025-10-20-distsys-glossary