CAP Theorem - Partition Tolerance means Nodes down or Network down?

355 views Asked by At

Reading the Brewer's conjecture, it says Partition Tolerance means nodes are not able to pass messages to other nodes in a cluster, and not that a few nodes are down.

This idea seems to be strengthened by the definition of Availability which refers to only 'non failing' nodes being able to respond to requests.

Therefore, am I correct in understanding that Partition Tolerance has nothing to do with nodes failing and becomoing unresponsive to requests? It only concerns itself with how the still functioning nodes are behaving (are they consistent and available) when they are not able to talk to each other?

Thanks.

1

There are 1 answers

0
João Matos On

IMHO a (CAP) partition refers to any sort of reason that may prevent a node from receiving a reply within a reasonable amount of time. In practice you can have many potential causes, but when you are reasoning at a theoretical level it doesn't really matter which. Bear in mind that the CAP theorem is theory.

When a node does not receive the expected message it cannot make any assumptions on why, maybe the other node died or maybe it's just latency or some other reason, it doesn't know nor it cares - what matters is that the node became isolated and that a request may be received during this "isolation". In such case what can it do? See the three possible scenarios illustrated in this answer.