Hey Bin,
In most cases, we’re interested in testing the connections between DB processes, rather than between clients and the database. Its ok, and even healthy for many consistency models, for a cluster to reject operations from a cluster member in full or partial failure. Trying operations against unstable nodes, without Jepsen routing around them, is usually the meat of what we want to observe in a Jepsen test.
A node is a machine (or more likely, a VM) that contains one or more DB processes. When we partition the network, we cut and heal connections between nodes. i
Importantly, we do not sever the node from the machine orchestrating the test. (Jepsen’s built in nemeses take care of this for you) I believe we do not have any tests that shut down an entire node (Kyle can correct me here if I’m mistaken), instead we’ll interrupt or terminate the DB process on the node.
In essence, Jepsen’s partitioner nemeses do not prevent Jepsen clients from communicating with their assigned nodes. Feel free to reply with any connection errors you’d like assistance debugging.