I am reading DDIA. It says “possible to make Dynamo-style quorums linearizable at the cost of reduced performance: a reader must perform read repair (see “Read repair and antientropy” on page 178) synchronously, before returning results to the application [23], and a writer must read the latest state of a quorum of nodes before sending its writes.”
What benefits are in requiring “a writer must read the latest state of a quorum of nodes before sending its writes?”
Read repair would fix the example in figure 1, and I can’t come up with a reason or an example where a writer should perform a bunch of reads before doing the write, especially assuming that it’s unconditional.