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

Massimiliano Tomassi commented on CASSANDRA-15641:
--------------------------------------------------

Hi [~Osipov], as already explained by [~samt] in the slack channel, the 
behaviour depends on how the select statement is implemented. When paging is 
turned off, the query you are trying (filtering with an IN clause), results in 
a single multi-partition read (in which case the query would fail if SERIAL 
consistency is used), while if paging is turned on it will result in separate 
single-partition reads each executed with SERIAL consistency, therefore no 
exception is thrown. 

Here you can see the query failed with paging turned off and SERIAL consistency:
{code:java}
cqlsh> SELECT * FROM test.t where a in (1,2);
InvalidRequest: Error from server: code=2200 [Invalid query] 
message="SERIAL/LOCAL_SERIAL consistency may only be requested for one 
partition at a time"
{code}

I'm going to close this ticket as it doesn't categorise as a bug.

> No error if consistency_level = SERIAL and unqualified select
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-15641
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15641
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL/Semantics
>            Reporter: Konstantin
>            Assignee: Massimiliano Tomassi
>            Priority: Normal
>             Fix For: 4.0-rc
>
>         Attachments: test.py
>
>
> The attached test program produces no errors, while doesn't provide serial 
> consistency. There is no exception that the consistency level is incorrect. 
> It's simply silently downgraded. The issue is not documented either. 
> kostja@atlas ~ % python test.py
> Row(a=1, b=1)
> Row(a=0, b=0)
> Row(a=2, b=2)
> Row(a=3, b=3)
> Row(a=1, b=1)
> Row(a=2, b=2)
> The behavior is contrary to the original intent by LWT author, since the code 
> has the following check: 
>    if (group.queries.size() > 1)
>             throw new InvalidRequestException("SERIAL/LOCAL_SERIAL 
> consistency may only be requested for one partition at a time");
> https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/service/StorageProxy.java#L1593



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to