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