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

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

The following test case show how to reproduce the issue
{code}
  create table test ( key1 int, key2 int , col1 int, col2 int, primary key 
(key1, key2));
  create index col1 on test(col1);
  create index col2 on test(col2);
  insert into test (key1, key2, col1, col2) values (1, 2, 100, 2);
  insert into test (key1, key2, col1, col2) values (1, 3, 100, 3);
  insert into test (key1, key2, col1, col2) values (1, 4, 100, 4);
  ..................
 insert into test (key1, key2, col1, col2) values (1, 19999999, 100, 19999999);
 insert into test (key1, key2, col1, col2) values (1, 20000000, 100, 20000000);

 select * from test where col1=100 and col2 =1;
 this query timeouts
{code}

> TimeoutException throws if Cql query allow data filtering and index is big 
> and 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 clauses other than EQUAL, 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