3 ms·
because the thing that needs to be maintained is the causal ordering of events. For the example from TFA, block -> tweet and tweet -> block have the causal effe
by beaconstudios 8y ago
because the thing that needs to be maintained is the causal ordering of events. For the example from TFA, block -> tweet and tweet -> block have the causal effect of the blocked user seeing or not seeing the tweet respectively. Phrasing it as causal ordering removes time from the equation, which you aren't always able to take into account with distributed systems. Causal ordering also allows for causally unrelated events to appear in any order, for example updating your bio and posting a tweet. Check out the wiki article on logical clocks for a rough starting point in delving into this topic: https://en.wikipedia.org/wiki/Logical_clock https://en.wikipedia.org/wiki/Logical_clock.
- kd5bjo 8y agoA more common example of causally unrelated events is two people tweeting from different parts of the world that don’t follow each other. The order these appear somewhere really doesn’t matter to anyone.
- deleted 8y ago[deleted]
- Liquid_Fire 8y agoBut there is no causal relationship between the two events. You didn't tweet because you blocked the person, or block them because you tweeted. This blog post is really about sequential consistency.
- beaconstudios 8y agono it isn't. The two events are linked by a effect, ie switching the order of events has a different effect. They are causally linked, but not in the a => b sense. It's not about sequential consistency because for many other sets of events, the order does not matter and thus doesn't have to be enforced.