[
https://issues.apache.org/jira/browse/CASSANDRA-2328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aaron Morton updated CASSANDRA-2328:
------------------------------------
Attachment: 0001-validate-index-predicate-name-and-value.patch
Attached patch validates the expression column name and value for
get_indexed_slice().
Also adds a regression test in the (thrift) system tests.
> Index predicate values used in get_indexed_slice() are not validated
> --------------------------------------------------------------------
>
> Key: CASSANDRA-2328
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2328
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.7.3
> Reporter: Aaron Morton
> Assignee: Aaron Morton
> Priority: Minor
> Fix For: 0.7.5, 0.8
>
> Attachments: 0001-validate-index-predicate-name-and-value.patch
>
>
> If a client makes a get_indexed_slice() request with malformed predicate
> values we get an assertion failing rather than InvalidRequestException.
> {noformat}
> ERROR 14:47:56,842 Error in ThreadPoolExecutor
> java.lang.RuntimeException: java.lang.IndexOutOfBoundsException: 6
> at
> org.apache.cassandra.service.IndexScanVerbHandler.doVerb(IndexScanVer
> bHandler.java:51)
> at
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.
> java:72)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> utor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.IndexOutOfBoundsException: 6
> at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:121)
> at
> org.apache.cassandra.db.marshal.TimeUUIDType.compareTimestampBytes(Ti
> meUUIDType.java:56)
> at
> org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.jav
> a:45)
> at
> org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.jav
> a:29)
> at
> org.apache.cassandra.db.ColumnFamilyStore.satisfies(ColumnFamilyStore
> .java:1608)
> at
> org.apache.cassandra.db.ColumnFamilyStore.scan(ColumnFamilyStore.java
> :1552)
> at
> org.apache.cassandra.service.IndexScanVerbHandler.doVerb(IndexScanVer
> bHandler.java:42)
> ... 4 more
> {noformat}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira