A. Jesse Jiryu Davis
banner
emptysqua.re
A. Jesse Jiryu Davis
@emptysqua.re
Senior Staff Research Engineer in the MongoDB Distributed Systems Research Group. Photographer, Gunks climber, Zen Buddhist. Blog: https://emptysqua.re
Reposted by A. Jesse Jiryu Davis
Okay let’s talk about Richard Norman Shaw, who gave us this delightful mess and spearheaded an entire revolution in English domestic architecture
December 29, 2025 at 2:13 PM
Reposted by A. Jesse Jiryu Davis
Metamora, Indiana. 12/26/25. #photography
December 26, 2025 at 4:44 PM
This was an interesting 2023 paper about some Raft speedups, but it made a couple mistakes in my opinion. The worst was because of ... you guessed it, they used YCSB, which is a flawed benchmark. emptysqua.re/blog/review-...
Review: Rethink the Linearizability Constraints of Raft for Distributed Systems
Some worthwhile Raft enhancements and some mistakes. Caveat lector.
emptysqua.re
December 26, 2025 at 11:30 PM
Long story short, I think what users really want is linearizable reads from secondary servers. It's something I'm interested in researching.
December 25, 2025 at 4:35 AM
Thread-local causally-consistent sessions was an idea we considered very, very hard. Our CTO (Eliot Horowitz then) shot it down as "magic". Plus, it wouldn't solve the main problem, which is multi-tiered apps where one logical operation which should be causally consistent uses several MongoClients.
December 25, 2025 at 4:34 AM
1. Agreed. Alas we've now released the API and it's annoying to users to change it.

2. Interesting. Causally-consistent sessions should only be used by one thread at a time, so if you initiated a MongoClient with "causal=True" then you shouldn't use it with multiple threads. Not an awful idea tho.
December 24, 2025 at 2:23 AM
Oh, that's a useful feature. You can enforce causal consistency in general (which includes read-your-writes and other guarantees) with that mechanism. We've had that in MongoDB for some time, though, and customers have found it hard to use: emptysqua.re/blog/how-to-...
How To Use MongoDB Causal Consistency
The missing manual for a useful MongoDB feature.
emptysqua.re
December 22, 2025 at 11:46 PM
Reposted by A. Jesse Jiryu Davis
Couldn’t you run a bunch of YCSB clients to fix this? Also, we have a modified version of YCSB that replays traces and support open-loop replay (though our validation tests focused more on the replay accuracy than on evaluating the limits of the open loop implementation). github.com/disel-espol/...
GitHub - disel-espol/KV-replay: Forked version of Yahoo! Cloud Serving Benchmark with support for replay of workload traces
Forked version of Yahoo! Cloud Serving Benchmark with support for replay of workload traces - GitHub - disel-espol/KV-replay: Forked version of Yahoo! Cloud Serving Benchmark with support for repl...
github.com
December 21, 2025 at 10:16 PM
KV-replay looks great! That allows us to use real-world arrival times in a performance benchmark. Seems like a great way to test a system's resilience, e.g. by reproducing loads that crashed the production system and experimenting with mitigation strategies.
December 22, 2025 at 2:55 AM
I think more clients is better, but it's still fundamentally a closed system model: if a request is slow, that delays future requests from starting. Whereas a truly open loop benchmark starts requests at random, independent of how slow the previous requests were. Do you agree or am I wrong?
December 22, 2025 at 2:52 AM
That's a wrap!
December 22, 2025 at 2:48 AM
The "Open Versus Closed" paper was in 2006. The "coordinated omission" talk was in 2012. So why haven't we all switched to open loop benchmarks by now?
December 21, 2025 at 6:18 PM
YCSB is obsolete. It's a closed loop benchmark that doesn't generate realistic load, and it can't push a system past its limit. Same goes for the TPC benchmarks, and even the new KVBench. We've known about the inaccuracies of these closed loop benchmarks for years. emptysqua.re/blog/ycsb-is...
YCSB Is Obsolete, We Need New Benchmarks
Closed loop benchmarks are too polite, they don't push systems past their limits.
emptysqua.re
December 21, 2025 at 6:17 PM
Reposted by A. Jesse Jiryu Davis
time to pull out the seasonal favorites
December 7, 2025 at 3:15 PM
People don't talk enough about that movie.
December 21, 2025 at 2:22 AM
See the blog post for more details, and read the paper on Arxiv for *all* the details. emptysqua.re/blog/leasegu...
LeaseGuard: Raft Leases Done Right!
A new Raft enhancement for fast, consistent reads.
emptysqua.re
December 19, 2025 at 1:50 PM
@muratdemirbas.bsky.social and I are announcing today our new lease protocol for Raft, LeaseGuard. It's rigorously specified in TLA+, it's surprisingly simple, it adds no new messages to Raft, and it has cool optimizations to restore read and write availability quickly after a leader crash.
December 19, 2025 at 1:49 PM
In practice, Raft systems implement leases wrong, or they use slow and expensive quorum reads, or they don't guarantee Read Your Writes at all.
December 19, 2025 at 1:49 PM
Raft has a real problem guaranteeing Read Your Writes, because there might be two leaders serving reads at once. In theory, you could use a timed lease to ensure there's only one leader.
LeaseGuard: Raft Leases Done Right!
A new Raft enhancement for fast, consistent reads.
emptysqua.re
December 19, 2025 at 1:49 PM
Reposted by A. Jesse Jiryu Davis
We introduce LeaseGuard: a Raft-specific lease protocol with a precise spec and fast recovery after crashes.

Paper + Implementation linked in our joint (w Jesse @emptysqua.re) blog post below.

muratbuffalo.blogspot.com/2025/12/leas...
LeaseGuard: Raft Leases Done Right!
Many distributed systems have a leader-based consensus protocol at their heart. The protocol elects one server as the "leader" who receives ...
muratbuffalo.blogspot.com
December 19, 2025 at 1:13 PM
"A napron" was once proper English.
December 16, 2025 at 3:27 AM
You make partner at the right law firm, son, and you'll be riding the gravy train.
December 14, 2025 at 3:41 AM
"It is evident that there must be changes in typography as long as our social habits are open to variation." --announcement of Times New Roman in 1932.
December 11, 2025 at 9:54 PM
It's so disappointing that marijuana didn't substitute for alcohol.
December 10, 2025 at 9:50 PM
Reposted by A. Jesse Jiryu Davis
I’m running for Congress because we need leaders who will fight, not fold. I recognize this moment, and I’m ready to meet it. #FightDontFold #LanderForNYC #LanderForCongress
December 10, 2025 at 10:49 AM