Hacker News Viewer

Jepsen: NATS 2.12.1

by aphyr on 12/8/2025, 6:51:03 PM

https://jepsen.io/analyses/nats-2.12.1

Comments

by: vrnvu

Sort of related. Jepsen and Antithesis recently released a glossary of common terms which is a fantastic reference.<p><a href="https:&#x2F;&#x2F;jepsen.io&#x2F;blog&#x2F;2025-10-20-distsys-glossary" rel="nofollow">https:&#x2F;&#x2F;jepsen.io&#x2F;blog&#x2F;2025-10-20-distsys-glossary</a>

12/8/2025, 7:23:12 PM


by: merb

&gt; 3.4 Lazy fsync by Default<p>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.

12/8/2025, 7:34:47 PM


by: rdtsc

&gt; By default, NATS only flushes data to disk every two minutes, but acknowledges operations immediately. This approach can lead to the loss of committed writes when several nodes experience a power failure, kernel crash, or hardware fault concurrently—or in rapid succession (#7564).<p>I am getting strong early MongoDB vibes. &quot;Look how fast it is, it&#x27;s web-scale!&quot;. Well, if you don&#x27;t fsync, you&#x27;ll go fast, but you&#x27;ll go even faster piping customer data to &#x2F;dev&#x2F;null, too.<p>Coordinated failures shouldn&#x27;t be a novelty or a surprise any longer these days.<p>I wouldn&#x27;t trust a product that doesn&#x27;t default to safest options. It&#x27;s fine to provide relaxed modes of consistency and durability but just don&#x27;t make them default. Let the user configure those themselves.

12/8/2025, 8:16:10 PM


by: 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.

12/8/2025, 7:41:26 PM


by: maxmcd

&gt; &gt; You can force an fsync after each messsage [sic] with always, this will slow down the throughput to a few hundred msg&#x2F;s.<p>Is the performance warning in the NATS possible to improve on? Couldn&#x27;t you still run fsync on an interval and queue up a certain number of writes to be flushed at once? I could imagine latency suffering, but batches throughput could be preserved to some extent?

12/8/2025, 8:20:30 PM


by: gostsamo

Thanks, those reports are always a quiet pleasure to read even if one is a bit far from the domain.

12/8/2025, 7:57:57 PM


by: selectodude

[flagged]

12/8/2025, 7:12:39 PM