You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "ZhaoYang (Jira)" <ji...@apache.org> on 2020/04/27 16:35:00 UTC

[jira] [Updated] (CASSANDRA-15761) Make SASI query safe for concurrent compaction

     [ 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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org