[
https://issues.apache.org/jira/browse/CASSANDRA-18670?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Caleb Rackliffe updated CASSANDRA-18670:
----------------------------------------
Test and Documentation Plan: adding new tests around SAI and SSTableImporter
Status: Patch Available (was: In Progress)
|[patch|https://github.com/apache/cassandra/pull/2492]|[CircleCi|https://app.circleci.com/pipelines/github/maedhroz/cassandra?branch=CASSANDRA-18670]|
I've left some commentary in the PR, especially around one or two possibly
contentious bits.
> 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: 20m
> 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]