[ 
https://issues.apache.org/jira/browse/CASSANDRA-15761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ZhaoYang updated CASSANDRA-15761:
---------------------------------
    Fix Version/s: 4.x
                   3.11.x

> Make SASI query safe for concurrent compaction
> ----------------------------------------------
>
>                 Key: CASSANDRA-15761
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15761
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Feature/2i Index
>            Reporter: ZhaoYang
>            Priority: Normal
>             Fix For: 3.11.x, 4.x
>
>
> Read Request Thread:
> 1.) In {{QueryController#getIndexes}}, read request gets the current {{view}} 
> of sstable indexes.
>  2.) Request will try to reference the {{SSTableIndex}} from the {{view}} in 
> {{TermIterator#build}} and skips the {{SSTableIndex}} if it cannot be 
> referenced.
> Compaction Thread:
> If a compaction finishes between 1) and 2) and no other in-flight queries are 
> holding the sstable index reference, compacted {{SSTableIndex}} will be 
> released.
>  Then in step 2, read request will not be able to reference the released 
> {{SSTableIndex}}. We won't see a corruption error, but we'll silently not 
> read all data.
>  
> ----
>  
> Proposed fix: Read Request should make sure all {{SSTableIndexes}} from the 
> {{View}} can be referenced; if not, it should retry with latest {{View}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to