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

Sylvain Lebresne commented on CASSANDRA-2653:
---------------------------------------------

As I said earlier, I think the only way to keep one would be to force the 
querying of the primary index clause column name. In some cases, when we 
already do a NameQuery, either as part of the first data query or because we 
need a query for the extraFilter, this won't be a big deal. If it's a slice 
query and the primary index clause name is part of the return, we're good to. 
But otherwise, we'll have to do a specific query to validate the assert. Maybe 
the cases where we'll have to do an extra query are considered low enough than 
we think it's worth. But then there is the other problem.

The other problem is that this assertion is not thread safe, because the query 
to the index and the data is not atomic. 

> index scan errors out when zero columns are requested
> -----------------------------------------------------
>
>                 Key: CASSANDRA-2653
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2653
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7.6, 0.8.0 beta 2
>            Reporter: Jonathan Ellis
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 0.7.7, 0.8.1
>
>         Attachments: 
> 0001-Handle-data-get-returning-null-in-secondary-indexes.patch, 
> 0001-Handle-null-returns-in-data-index-query-v0.7.patch, 
> 0001-Reset-SSTII-in-EchoedRow-constructor.patch, 
> v1-0001-CASSANDRA-2653-reproduce-regression.txt
>
>
> As reported by Tyler Hobbs as an addendum to CASSANDRA-2401,
> {noformat}
> ERROR 16:13:38,864 Fatal exception in thread Thread[ReadStage:16,5,main]
> java.lang.AssertionError: No data found for 
> SliceQueryFilter(start=java.nio.HeapByteBuffer[pos=10 lim=10 cap=30], 
> finish=java.nio.HeapByteBuffer[pos=17 lim=17 cap=30], reversed=false, 
> count=0] in DecoratedKey(81509516161424251288255223397843705139, 
> 6b657931):QueryPath(columnFamilyName='cf', superColumnName='null', 
> columnName='null') (original filter 
> SliceQueryFilter(start=java.nio.HeapByteBuffer[pos=10 lim=10 cap=30], 
> finish=java.nio.HeapByteBuffer[pos=17 lim=17 cap=30], reversed=false, 
> count=0]) from expression 'cf.626972746864617465 EQ 1'
>       at 
> org.apache.cassandra.db.ColumnFamilyStore.scan(ColumnFamilyStore.java:1517)
>       at 
> org.apache.cassandra.service.IndexScanVerbHandler.doVerb(IndexScanVerbHandler.java:42)
>       at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:72)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:662)
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to