[ https://issues.apache.org/jira/browse/CASSANDRA-6348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13826809#comment-13826809 ]
Alex Liu commented on CASSANDRA-6348: ------------------------------------- C* is not alone, PostgreSQL has the similar filter predicates issue -- "index Filter Predicate" http://use-the-index-luke.com/sql/explain-plan/postgresql/filter-predicates {code} Note Index filter predicates give a false sense of safety; even though an index is used, the performance degrades rapidly on a growing data volume or system load. {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)