[ 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