incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Doubleday <>
Subject org.apache.cassandra.service.ReadResponseResolver question
Date Tue, 14 Dec 2010 19:55:37 GMT

I'm sorry - don't want to be a pain in the neck with source questions. So please just ignore
me if this is stupid:

Isn't org.apache.cassandra.service.ReadResponseResolver suposed to throw a DigestMismatchException
if it receives a digest wich does not match the digest of a read message?

If messages contains multiple digest responses it will drop all but one. So if any of the
dropped digest are a mismatch to the version that mismatch is simply ignored.
It can cope with multiple reads (versions) but not with multiple digests and that's what it
gets from quorum reads. 

It might be an edge case, but I think that would break quorum promise with rf > 3 because
you could have 1 broken data message, 1 broken digest message and 2 good digest messages.
If the 2 good messages were dropped than the quorum read that should have triggered repair
and conflict resolution would return old data.

I just can't see what I'm not seeing here.


View raw message