Class ReplicaFilteringProtection<E extends Endpoints<E>>

java.lang.Object
org.apache.cassandra.service.reads.ReplicaFilteringProtection<E>

@NotThreadSafe public class ReplicaFilteringProtection<E extends Endpoints<E>> extends Object
Helper in charge of collecting additional queries to be done on the coordinator to protect against invalid results being included due to replica-side filtering (secondary indexes or ALLOW * FILTERING).

When using replica-side filtering with CL > ONE, a replica can send a stale result satisfying the filter, while updated replicas won't send a corresponding tombstone to discard that result during reconciliation. This helper identifies the rows in a replica response that don't have a corresponding row in other replica responses (or don't have corresponding cell values), and requests them by primary key on the "silent" replicas in a second fetch round.

See Also: