cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Masters (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5892) CqlConfigHelper.setInputWhereClauses() doesnt handle GT (>) comparators
Date Thu, 15 Aug 2013 15:31:48 GMT

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

Adam Masters commented on CASSANDRA-5892:
-----------------------------------------

Ive written a custom method inside CqlPagingRecordReader to remove GT comparator statements
from the custom where clauses when paging kicks in (on the same composite key). This has allowed
me to configure jobs along the lines of: CqlConfigHelper.setInputWhereClauses(conf, "ts >
'634926385000000000' and ts <= '634926438000000000'"); Let me know if you are interested
in this code.
                
> CqlConfigHelper.setInputWhereClauses() doesnt handle GT (>) comparators
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-5892
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5892
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Hadoop
>            Reporter: Adam Masters
>            Priority: Minor
>             Fix For: 1.2.8
>
>
> When using CqlPagingRecordReader, specifying a custom where clause using CqlConfigHelper.setInputWhereClauses()
throws an exception when a GT (>) comparator is used.
> Exception:
> java.lang.RuntimeException at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:646)
Caused by: InvalidRequestException(why:Invalid restrictions found on ts) at org.apache.cassandra.thrift.Cassandra$prepare_cql3_query_result.read(Cassandra.java:39567)
> This is due to the paging mechanism inserting a GT comparator on the same composite key
as the custom where clause, resulting in an invalid CQL statement. For example ("ts > '634926385000000000'"
being the custom where clause):
> SELECT * FROM "test_cf"
>     WHERE token("key") = token( ? )  AND "ts" > ?
>     AND ts > '634926385000000000' LIMIT 3 ALLOW FILTERING

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message