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

Aleksey Yeschenko commented on CASSANDRA-7875:
----------------------------------------------

As for this ticket, I'm not sure that just adding an extra runtime check is the 
way to go, or sufficient.
Since this event (dropping an index) should be very rare in production, we 
should probably just extend CASSANDRA-7910 logic here, and just invalidate the 
potentially affected statements.

> 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: 2.1.3
>
>         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)

Reply via email to