Caleb Rackliffe created CASSANDRA-18670:
-------------------------------------------

             Summary: 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
            Reporter: Caleb Rackliffe
            Assignee: Caleb Rackliffe


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]

Reply via email to