Those data were inserted one node, then deleted on a remote node in less than 2 seconds. So it is very possible some node lost tombstone when connection lost. My question, is a ConstencyLevel.ALL read can retrieve lost tombstone back instead of repair?


On Aug 17, 2010, at 4:11 PM, Ned Wolpert wrote:

(gurus, please check my logic here... I'm trying to validate my understanding of this situation.)

Isn't the issue that while a server was disconnected, a delete could have occurred, and thus the disconnected server never got the 'tombstone'? (http://wiki.apache.org/cassandra/DistributedDeletes) When it comes back, only after it receives the delete request will the data be deleted from the reconnected server. I do not think this happens automatically when the server rejoins the cluster, but requires the manual repair command.

From my understanding, if the consistency level is greater then the number of servers missing that tombstone, you'll get the correct data. If its less, then you 'could' get the right or wrong answer. So the issue is how often do you need to run repair? If you have a ReplicationFactor=3, and you use ConstencyLevel.QUORUM, (2 responses) then you need to run it after one server fails just to be sure. If you can handle some tolerance for this, you can wait a bit more before running the repair.

On Tue, Aug 17, 2010 at 12:58 PM, Jeremy Dunck <jdu...@gmail.com> wrote: On Tue, Aug 17, 2010 at 2:49 PM, Jonathan Ellis <jbel...@gmail.com> wrote: > It doesn't have to be disconnected more than GC grace seconds to cause
> what you are seeing, it just has to be disconnected at all (thus
> missing delete commands).
>
> Thus you need to be running repair more often than gcgrace, or
> confident that read repair will handle it for you (which clearly is
> not the case for you :).  see
> http://wiki.apache.org/cassandra/Operations

FWIW, the docs there say:
"Remember though that if a node is down longer than your configured
GCGraceSeconds (default: 10 days), it could have missed remove
operations permanently"

So that's probably a source of misunderstanding.



--
Virtually, Ned Wolpert

"Settle thy studies, Faustus, and begin..."   --Marlowe

Reply via email to