[
https://issues.apache.org/jira/browse/CASSANDRA-11637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15256696#comment-15256696
]
Robert Stupp commented on CASSANDRA-11637:
------------------------------------------
Yea - I get your point. If you can do it in the driver, that's fine.
But I still think that the use-case is a rare one - it assumes that data _is_
present and the request accidentally hit the EC time window.
It sounds easy, but taking all combinations into account, I think it can become
very complicated. What happens if the data cannot be found in the local DC?
Will it try all nodes in the next DC, the DC after that and so on and so on?
Shall it limit and fail after X nodes and/or Y DCs? Should it wait for some
time and/or retry the local DC before asking a remote DC? Shall it stop if it
finds an expired TTL? What happens if you expect 5 CQL rows in a partition but
only get 4?
> 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)