[ 
https://issues.apache.org/jira/browse/CASSANDRA-8754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14312035#comment-14312035
 ] 

Sylvain Lebresne commented on CASSANDRA-8754:
---------------------------------------------

bq. The biggest benefit would be to enforce sanity on LWT operations not mixing 
with non-LWT

It's a good point, which does imply we need to separate reads and writes as 
non-LWT reads often make sense on LWT updated tables.

bq. Alternatively, we could use the capability-limitation framework that we've 
discussed before, if that feels like a better fit

Actually, it kind of does sound like capabillity limitation, and the framework 
we've discussed so far (CASSANDRA-8303) is per-table and distinguish reads and 
writes, both of which are desirable. It further adds the notion of roles which 
kind of make sense for this too. Further, said framework might be extended 
someday to include things like having default limitations for newly created 
tables, and this would also benefit to this feature. Overall, this is the 
option that makes the most sense to me (adding it as table options is simple 
but feels a bit more adhoc to me).

> Required consistency level
> --------------------------
>
>                 Key: CASSANDRA-8754
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8754
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Ryan Svihla
>              Labels: ponies
>
> Idea is to prevent a query based on a consistency level not being met. For 
> example we can specify that all queries should be at least CL LOCAL_QUORUM.
> Lots of users struggle with getting all their dev teams on board with 
> consistency levels and all the ramifications. The normal solution for this 
> has traditionally to build a service in front of Cassandra that the entire 
> dev team accesses. However, this has proven challenging for some 
> organizations to do correctly, and I think an easier approach would be to 
> require a given consistency level as a matter of enforced policy in the 
> database. 
> I'm open for where this belongs. The most flexible approach is at a table 
> level, however I'm concerned this is potentially error prone and labor 
> intensive. It could be a table attribute similar to compaction strategy.
> The simplest administratively is a cluster level, in say the cassandra.yaml
> The middle ground is at they keyspace level, the only downside I could 
> foresee is keyspace explosion to fit involved minimum schemes. It could be a 
> keyspace attribute such as replication strategy.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to