I heart the Mongo logless algorithm for reconfiguration for single node updates

38 views
Skip to first unread message

Jason Aten

unread,
Sep 4, 2025, 8:04:31 PMSep 4
to raft-dev

I've gotta say I wish someone had pointed me to

the MongoRaftReconfig algorithm paper earlier.


It's really a breath of fresh air. Would have saved me much trouble.


So, I want to send a big thank you to the MongoDB

folks for publishing this; and for answering my questions about it.


I think it should be more widely known. Thus this post and these details:


"Design and Analysis of a Logless Dynamic Reconfiguration Protocol"

https://arxiv.org/abs/2102.11960


This is a much improved approach over baseline Raft.


Still, it is really just a small set of changes from the single-server-change

-at-a-time approach from the Raft dissertation section 4.1.


Rather than using the Raft log with membership

configuration, they are kept separately.


I wrote it into my Raft implementation over the last two days and it cleaned up

so many things.


No more having to worry about log compaction wiping out your

config.  No having to find the most recent/last two configs in the log so you can

rollback a configuration if the log gets truncated.


A much cleaner and orthogonal design all around.


links:


presentation slides are the quickest way in, and a

very conversational journey (from 2nd author):


https://conf.tlapl.us/2024/SiyuanZhou-HowWeDesignedAndModelCheckedMongoDBReconfigurationProtocol.pdf

paper: https://arxiv.org/abs/2102.11960

recent blog by first author:


https://will62794.github.io/distributed-systems/consensus/2025/08/25/logless-raft.html


github with TLA+ specs:


https://github.com/will62794/logless-reconfig


https://github.com/mongodb/mongo/blob/master/src/mongo/tla_plus/RaftMongoWithRaftReconfig.tla

enjoy!


Reply all
Reply to author
Forward
0 new messages