[
https://issues.apache.org/jira/browse/CASSANDRA-11637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15282753#comment-15282753
]
Aleksey Yeschenko commented on CASSANDRA-11637:
-----------------------------------------------
It's not useless, and is in fact a known pattern in C*-land. DSE's CFS uses
this logic for its reads.
It can, however, be trivially implemented as a policy in the driver, and,
arguably, is where it belongs. If you feel like it should be one of the
available policies in the driver, feel free to open appropriate driver JIRAs,
but I'm going to close this server-side one.
> Immutable-friendly read consistency level
> ------------------------------------------
>
> Key: CASSANDRA-11637
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11637
> Project: Cassandra
> Issue Type: New Feature
> Reporter: lvh
> Priority: Minor
>
> Many Cassandra applications use immutable, append-only models. For those
> models, you can accept read consistency {{ONE}}, since the data either exists
> (and then it's the data you want) or it doesn't. However, it's possible that
> the data hasn't made it to that node yet, so "missing" data might mean
> "actually missing" or "not here".
> Riak has a convenient read consistency option for this, called notfound_ok
> (default true). When false, the first succeeding read will succeed the
> operation (a la consistency level {{ONE}}), but a missing read from any node
> will keep trying up to the normal consistency level (e.g. {{QUORUM}}).
> The workaround for this is for applications to implement an
> "UpgradingConsistencyPolicy" (dual to DowngradingConsistencyPolicy) that
> tries e.g. {{QUORUM}} after {{ONE}} fails, and then writes with e.g.
> {{QUORUM}}.
> This is related to CASSANDRA-9779; but it seems that ticket only explores the
> compaction/collation/materialized view angle, not the fast & safe read
> consistency angle.
> Thanks to [~jjirsa]] for helping me dig through this, find the related
> ticket, and confirm Cassandra currently does not support this.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)