Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-20637

Implement recovery of distributed index building

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0
    • None

    Description

      We need to take care of recovery for the distributed index construction mechanism:

      • For indexes that are not available for read-write:
      1. Make sure that the corresponding keys are present in the metastore: startBuildIndex.<indexId> and partitionBuildIndex.<indexId>.<partitionId_0>...partitionBuildIndex.<indexId>.<partitionId_N>.
        Notest:
        This is easy to implement, since there is an auxiliary key startBuildIndex.<indexId>, which, in its absence, will allow you to accurately understand that there are no keys for this index in metasore.
      2. For the build distributed index of a specific partition, delete key partitionBuildIndex.<indexId>.<partitionId> in the metastore.
        Notest:
        This point is probably the most difficult and requires thought before implementation, since it will most likely require raising a replication group and applying a replication log.
      3. If there are no keys partitionBuildIndex.<indexId>.<partitionId_0>...partitionBuildIndex.<indexId>.<partitionId_N> in the metastore, execute org.apache.ignite.internal.catalog.commands.MakeIndexAvailableCommand.
      • For indexes that are available for read-write:
      1. Delete key startBuildIndex.<indexId> in the metastore if it remains.

      Attachments

        Issue Links

          Activity

            People

              ktkalenko@gridgain.com Kirill Tkalenko
              ktkalenko@gridgain.com Kirill Tkalenko
              Roman Puchkovskiy Roman Puchkovskiy
              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 - 9h 50m
                  9h 50m