[
https://issues.apache.org/jira/browse/CASSANDRA-14407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16602950#comment-16602950
]
Benedict commented on CASSANDRA-14407:
--------------------------------------
Fixes:
# If a transient replica sorts first by snitch, we could have bad data requests
(i.e. to transient replicas)
# Ring movement inconsistency can break read consistency more easily with
transient replication, so we introduce an acceptsTransient property that can be
used by recipient nodes to reject a query it cannot safely handle (this is
limited in its power, as both nodes could be behind on gossip wrt a new node
joining the ring that has bumped the recipient to a transient position from a
full one, but it’s better than nothing). This should also help prevent bugs
like the above, where we request a full data request accidentally from a
transient replica.
# removed unnecessary ForwardingReadRepair, as we cannot employ read-repair
with transient replication
# speculating with only one untried node that was transient would have failed
to speculate
Follow-ups:
# Digest mismatches are not handled well for transient replication - I guess
ideally this would operate in repaired/unrepaired separately, as we will need
anyway for monotonic reads
> Transient Replication: Add support for correct reads when transient
> replication is in use
> -----------------------------------------------------------------------------------------
>
> Key: CASSANDRA-14407
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14407
> Project: Cassandra
> Issue Type: Sub-task
> Components: Coordination
> Reporter: Ariel Weisberg
> Assignee: Blake Eggleston
> Priority: Major
> Fix For: 4.0
>
>
> Digest reads should never be sent to transient replicas.
> Mismatches with results from transient replicas shouldn't trigger read repair.
> Read repair should never attempt to repair a transient replica.
> Reads should always include at least one full replica. They should also
> prefer transient replicas where possible.
> Range scans must ensure the entire scanned range performs replica selection
> that satisfies the requirement that every range scanned includes one full
> replica.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]