You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tyler Hobbs (JIRA)" <ji...@apache.org> on 2014/09/03 23:06:51 UTC

[jira] [Created] (CASSANDRA-7875) Prepared statements using dropped indexes are not handled correctly

Tyler Hobbs created CASSANDRA-7875:
--------------------------------------

             Summary: Prepared statements using dropped indexes are not handled correctly
                 Key: CASSANDRA-7875
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7875
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Tyler Hobbs
            Assignee: Tyler Hobbs
            Priority: Minor
             Fix For: 1.2.19, 2.0.11, 2.1.1
         Attachments: repro.py

When select statements are prepared, we verify that the column restrictions use indexes (where necessary).  However, we don't perform a similar check when the statement is executed, so it fails somewhere further down the line.  In this case, it hits an assertion:

{noformat}
java.lang.AssertionError: Sequential scan with filters is not supported (if you just created an index, you need to wait for the creation to be propagated to all nodes before querying it)
	at org.apache.cassandra.db.filter.ExtendedFilter$WithClauses.getExtraFilter(ExtendedFilter.java:259)
	at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1759)
	at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1709)
	at org.apache.cassandra.db.PagedRangeCommand.executeLocally(PagedRangeCommand.java:119)
	at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1394)
	at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1936)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:724)
{noformat}

During execution, we should check that the indexes still exist and provide a better error if they do not.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)