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

Alex Petrov updated CASSANDRA-15761:
------------------------------------
     Bug Category: Parent values: Correctness(12982)Level 1 values: Recoverable 
Corruption / Loss(12986)
       Complexity: Normal
      Component/s:     (was: Feature/2i Index)
                   Feature/SASI
    Discovered By: Unit Test
         Severity: Critical
           Status: Open  (was: Triage Needed)

> 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/SASI
>            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