Hi Michal,

Let's say the tombstone on one of the nodes (X) is gcable and was not
> compacted (purged) so far. After it was created we re-created this row, but
> due some problems it was written only to the second node (Y), so we have
> "live" data on node Y which is newer than the gcable tombstone on replica
> node X. Some time ago we did NOT repair our cluster for a  while (well,
> pretty long while), so it's possible that such situation happened.
>
> My concern is: will AntiEntropy ignore this tombstone only, or basically
> everything related to the row key that this tombstone was created for?
>
It will only ignore the tombstone (which should have been repair in a
previous repair anyway - assuming you to repairs within gc_grace). Any
newer columns (overwriting the tombstone) would be still alive and would
not be ignored.

The only way for CASSANDRA-4905 to make any difference is to not run repair
within gc_grace. With the patch it would not repair these old tombstones
any more. But in that case you should simply increase gc_grace and not undo
the patch :-)



"When I query (cqlsh) some rows by key (CL is default = ONE) I _always_ get
a correct result.  However, when I query it by indexed column, it returns
nothing."
This looks to me more like a secondary index issue. If you say the access
via rowkey is always correct, then the repair works fine. I think there
might be something wrong with your secondary index then.


Cheers,
Christian

Reply via email to