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