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

Alex Liu commented on CASSANDRA-6348:
-------------------------------------

It's interesting that if LIMIT clause is in the query, it's timeout, otherwise 
it's fine.

{code}
cqlsh:cql3ks> select key, qty, size  from cf where qty>498 and color='red' and 
size = 'P' allow filtering;    

 key        | qty | size
------------+-----+------
 key_910500 | 499 |    P
  key_35500 | 499 |    P
 key_945500 | 499 |    P
 key_420500 | 499 |    P
 key_140500 | 499 |    P
 key_630500 | 499 |    P
 key_210500 | 499 |    P
 key_805500 | 499 |    P
 key_700500 | 499 |    P
 key_735500 | 499 |    P
 key_385500 | 499 |    P
 key_175500 | 499 |    P
 key_455500 | 499 |    P
 key_245500 | 499 |    P
 key_770500 | 499 |    P
 key_875500 | 499 |    P
  key_70500 | 499 |    P
 key_980500 | 499 |    P
 key_280500 | 499 |    P
 key_105500 | 499 |    P
 key_525500 | 499 |    P
 key_665500 | 499 |    P
 key_595500 | 499 |    P
 key_315500 | 499 |    P
 key_490500 | 499 |    P
 key_350500 | 499 |    P
    key_500 | 499 |    P
 key_840500 | 499 |    P
 key_560500 | 499 |    P

cqlsh:cql3ks> select key, qty, size  from cf where qty>498 and color='red' and 
size = 'P' limit 1 allow filtering;    
Request did not complete within rpc_timeout.
{code}

> TimeoutException throws if Cql query allows data filtering and index is too 
> big and it can't find the data in base CF after filtering 
> --------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-6348
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6348
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Alex Liu
>            Assignee: Alex Liu
>
> If index row is too big, and filtering can't find the match Cql row in base 
> CF, it keep scanning the index row and retrieving base CF until the index row 
> is scanned completely which may take too long and thrift server returns 
> TimeoutException. This is one of the reasons why we shouldn't index a column 
> if the index is too big.
> Multiple indexes merging can resolve the case where there are only EQUAL 
> clauses. (CASSANDRA-6048 addresses it).
> If the query has none-EQUAL clauses, we still need do data filtering which 
> might lead to timeout exception.
> We can either disable those kind of queries or WARN the user that data 
> filtering might lead to timeout exception or OOM.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to