Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-18670

Importer should build SSTable indexes successfully before making new SSTables readable

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            maedhroz Caleb Rackliffe Assign to me
            maedhroz Caleb Rackliffe
            Caleb Rackliffe
            Andres de la Peña, Mike Adamson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 12h 40m
                12h 40m

                Slack

                  Issue deployment