Jordan West commented on CASSANDRA-14055:

Hi [~lboutros],

Attached my patch for your review and testing. If you could verify this does 
the right thing in your environments that would be especially helpful since I 
have been unable to replicate the deleted file issue – I only see the sstables 
removed from the SASI View.

The gist of the patch is to ensure the intersection of {{oldSStables}} and 
{{newIndexes}} is always empty. Your patch was doing the same by not checking 
{{oldSSTables}} in the second for-loop, but this approach doesn't require the 
changes to {{SSTableIndex#release}}.

I re-used your test but removed the version that runs with the data entirely 
in-memory since that won't be affected by index redistribution.

> Index redistribution breaks SASI index
> --------------------------------------
>                 Key: CASSANDRA-14055
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14055
>             Project: Cassandra
>          Issue Type: Bug
>          Components: sasi
>            Reporter: Ludovic Boutros
>            Assignee: Ludovic Boutros
>            Priority: Major
>              Labels: patch
>             Fix For: 3.11.x
>         Attachments: CASSANDRA-14055.patch, CASSANDRA-14055.patch, 
> CASSANDRA-14055.patch
> During index redistribution process, a new view is created.
> During this creation, old indexes should be released.
> But, new indexes are "attached" to the same SSTable as the old indexes.
> This leads to the deletion of the last SASI index file and breaks the index.
> The issue is in this function : 
> [https://github.com/apache/cassandra/blob/9ee44db49b13d4b4c91c9d6332ce06a6e2abf944/src/java/org/apache/cassandra/index/sasi/conf/view/View.java#L62]

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to