[
https://issues.apache.org/jira/browse/CASSANDRA-18670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17744801#comment-17744801
]
Caleb Rackliffe commented on CASSANDRA-18670:
---------------------------------------------
Pushed another commit streamlining my new tests to share a cluster, and fixed
{{StorageAttachedIndexDDLTest#verifyRebuildCorruptedFiles}}
> Importer should build SSTable indexes successfully before making new SSTables
> readable
> --------------------------------------------------------------------------------------
>
> Key: CASSANDRA-18670
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18670
> Project: Cassandra
> Issue Type: Bug
> Components: Feature/SAI, Legacy/Tools, Tool/nodetool
> Reporter: Caleb Rackliffe
> Assignee: Caleb Rackliffe
> Priority: Normal
> Fix For: 5.x
>
> Time Spent: 9h
> Remaining Estimate: 0h
>
> Importing SSTables w/ already built SAI components is pretty unproblematic.
> However, the case where we import SSTables without accompanying index
> components can be problematic in two ways, given the indexes are built after
> the SSTables themselves are added to the tracker:
> 1.) The new SSTables can be seen for reads on the base table before their
> attached indexes are built and ready to query in the index {{View}}.
> 2.) If a failure occurs in an index build, the import just leaves the index
> in a compromised state, and even though a failure to import will be reported
> to the user, the SSTables will be readable for queries on the base table.
> If the index implementation allows it (and SAI does), {{SSTableImporter}}
> should make sure SSTable indexes are built before making SSTables visible as
> part of the base table. If an index build fails, the import should fail and
> it should appear to ongoing reads like it never happened, including the index
> continuing to be queryable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]