3 ms·
> BUT the W writes specified by the requested consistency level do have to be to the right nodes or everything falls apart. The paper doesn't say this. The pas
by cx01 17y ago
> BUT the W writes specified by the requested consistency level do have to be to the right nodes or everything falls apart.
The paper doesn't say this. The passage you cited explicitly says that if W=1 any node in the whole system could take the write, contradicting your statement.
Even then, it wouldn't make sense to apply your rule. If W writes have to happen on the first N nodes in the preference list, then I wouldn't need sloppy quorums at all.
- jbellis 17y ago> any node in the whole system could take the write No, it says "a single node," not "any node." The distinction is important: I'm saying the former means "a single [real destination] node." > If W writes have to happen on the first N nodes in the preference list, then I wouldn't need sloppy quorums at all. Hinted handoff is there to make "eventually" happen faster for clients who _don't_ specify R + W > N. Not to magically make W not matter for clients who do, because clearly that doesn't work. (And if the authors didn't understand that, why bother discussing W at all? it doesn't make sense.)
- cx01 17y ago> No, it says "a single node," not "any node." The distinction is important: I'm saying the former means "a single [real destination] node." But the paper explicitly says: "Applications that need the highest level of availability can set W to 1, which ensures that a write is accepted as long as a single node in the system has durably written the key it to its local store. Thus, the write request is only rejected if all nodes in the system are unavailable.". The last sentence makes clear that they mean any single node in the whole system. Additionally the paper states: "all read and write operations are performed on the first N healthy nodes from the preference list, which may not always be the first N nodes encountered while walking the consistent hashing ring.". There is no mention that at least W of the first N nodes have to accept a write.
- jbellis 17y agoYou're missing the forest for the trees. You're taking a pedantically literal view of one sentence and saying "see? it can't work!" when that interpretation of the sentence in question makes no sense at all when taken with the paper as a whole. If you want to keep arguing that Dynamo's HH ignores the W value they spend a lot of effort explaining, fine, maybe you're right; maybe Dynamo's authors really are a bunch of idiots. Nobody outside Amazon can say for sure. But Cassandra doesn't ignore W, and neither does any other actual system I know of: HH is just for the N - W nodes. Because that's the only way to implement it that makes sense. :)