cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Liu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-6348) TimeoutException throws if Cql query allow data filtering and index is big and can't find the data in base CF after filtering
Date Thu, 14 Nov 2013 22:03:21 GMT

    [ 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)

Mime
View raw message