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] [Comment Edited] (CASSANDRA-6348) 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
Date Tue, 19 Nov 2013 19:49:20 GMT

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

Alex Liu edited comment on CASSANDRA-6348 at 11/19/13 7:49 PM:
---------------------------------------------------------------

One solution is to implement a query execution planner, so that it can optimize the execution
path to avoid the bad performance or look for best performance. For data filtering, if the
index scanning is above certain interval number without finding a matched record, we return
a result without data filtering to client with a flag so client can filter the result at client
side and then continue scanning the index to avoid timeout exception.


was (Author: alexliu68):
One solution is to implement a query execution planner, so that it can optimize the execution
path to avoid the bad performance or look for best performance. For data filtering, if the
index size is above certain threshold we disable index scanning, and do a full table scanning
or index merging.

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

Mime
View raw message