Comment by mjb
2 days ago
Read-your-writes is a client guarantee, that requires stickiness (i.e. a definition of “your”) to be meaningful. It’s not a level of consistency I love, because it raises all kinds of edge-case questions. For example, if I have to reconnect, am I still the same “your”? This isn’t even the some rare edge case! If I’m automating around a CLI, for example, how is the server meant to know that the next CLI invocation from the same script (a different process) is the same “your”? Sure, I can fix that with some kind of token, but then I’ve made the API more complicated.
Linearizability, as a global guarantee, is much nicer because it avoids all those edge cases.
Oh, read-your-writes is definitely not a solution to all problems, but to ditch it and go directly for strong consistency is... a bit radical