You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ludovic Boutros (JIRA)" <ji...@apache.org> on 2018/02/01 11:05:00 UTC
[jira] [Comment Edited] (CASSANDRA-14055) Index redistribution
breaks SASI index
[ https://issues.apache.org/jira/browse/CASSANDRA-14055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348404#comment-16348404 ]
Ludovic Boutros edited comment on CASSANDRA-14055 at 2/1/18 11:04 AM:
----------------------------------------------------------------------
Hi [~jrwest],
first, thank you for reviewing this patch.
I will try to give answers to your questions.
Your global analysis is correct. The idea of this patch was to change as few things as possible.
I do not see any other failure scenarios currently.
We are using this patch in production with success since the end of november.
Regarding the {{keepFile}} change, with my last patch, I can reproduce the file deletion with the {{forceFlush}} boolean set to {{true}}.
You can just add a conditional breakpoint with {{keepFile && (obsolete.get() || sstableRef.globalCount() == 0)}} in the {{release}} function.
It will stop on each attempt of index redistribution with {{forceFlush}} active (second part of the test).
With my limited knowledge of the global code, I did not see any issue in the reference counting process with my patch.
But again, I'm quite new with this code :).
was (Author: lboutros):
Hi @Jordan,
first, thank you for reviewing this patch.
I will try to give answers to your questions.
Your global analysis is correct. The idea of this patch was to change as few things as possible.
I do not see any other failure scenarios currently.
We are using this patch in production with success since the end of november.
Regarding the {{keepFile}} change, with my last patch, I can reproduce the file deletion with the {{forceFlush}} boolean set to {{true}}.
You can just add a conditional breakpoint with {{keepFile && (obsolete.get() || sstableRef.globalCount() == 0)}} in the {{release}} function.
It will stop on each attempt of index redistribution with {{forceFlush}} active (second part of the test).
With my limited knowledge of the global code, I did not see any issue in the reference counting process with my patch.
But again, I'm quite new with this code :).
> 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.2
>
> 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
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org