3 ms·
Without the consensus read you can get inconsistent values. Suppose you write value a to leader A and then value b to leader A. Node B got both updates, node C
by cube2222 9y ago
Without the consensus read you can get inconsistent values.
Suppose you write value a to leader A and then value b to leader A. Node B got both updates, node C got only the a value because of network timeouts.
Now you do a read from B of both values, you get the current a and b. Then you do a read from C, you receive the current a and the old b. Inconsistent.
Basically a violation of serializability and linearizability across the cluster in respect to the client.
- toolslive 9y agoNo. In your example, value 'a' will not have been applied to the store in C yet, as there is a hole in the log: a set of updates that contains update 'b' (and possibly others). So the view in A will be more up to date than the view in C, but both will be consistent.