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