Jepsen: RethinkDB 2.2.3 reconfiguration
Whoaaaa. Membership is where things get nasty, this is awesome. Punting on dynamic membership due to it's extreme difficulty to get right is usually a good idea for many projects.<p>I'm still struggling to understand what happens in a RethinkDB "reconfigure", especially around this epoch timestamp. Where does the wall-clock time come from, the raft leader of the shard?[0] I also need to read more and understand these value's necessity over any other generation id/sequence number type thing, I'm not sure I follow why they are used given the linked bug report[1]<p>Also, after embarrassing myself earlier in the week[2], I'm trying my best to read every link in a post before making absurd claims. It's my much deserved penance. It seems there is one link that is broken in the post that I was curious to see due to my ignorance around Rethink's epoch timestamp stuff[3].<p>[0]: <a href="https://github.com/rethinkdb/rethinkdb/blob/a90bb0805160362125a03024eb9f309e578408c0/src/clustering/table_manager/table_metadata.hpp#L50" rel="nofollow">https://github.com/rethinkdb/rethinkdb/blob/a90bb08051603621...</a><p>[1]: <a href="https://github.com/rethinkdb/rethinkdb/issues/5289#issuecomment-175394540" rel="nofollow">https://github.com/rethinkdb/rethinkdb/issues/5289#issuecomm...</a><p>[2]: <a href="https://lobste.rs/s/cnthlp/the_verification_of_a_distributed_system/comments/poc7h7#c_poc7h7" rel="nofollow">https://lobste.rs/s/cnthlp/the_verification_of_a_distributed...</a><p>[3]: <a href="https://aphyr.com/data/posts/330/link" rel="nofollow">https://aphyr.com/data/posts/330/link</a>