Interface ReIndexJobManager

All Known Subinterfaces:
ReIndexJobManagerInternal
All Known Implementing Classes:
DefaultReIndexJobManager

@Internal public interface ReIndexJobManager
Can be used to retrieve status of running or most recent re-index job. There is up to one re-index job at any time.
Since:
7.6.0
  • Method Details

    • getRunningOrMostRecentReIndex

      Optional<ReIndexJob> getRunningOrMostRecentReIndex()
      Returns:
      most recent or running re-index job. Empty if there is neither.
    • createNewJob

      Optional<ReIndexJob> createNewJob(List<String> keys)
      Create a new job which may replace a completed job stored in the bandana table.
      Returns:
      the new job if it can be created
      Since:
      8.3.0
    • acknowledgeRunningJob

      boolean acknowledgeRunningJob() throws InterruptedException
      Mark most recent or running re-index job as acknowledged. No-op if there is neither.
      Returns:
      true if most recent/running re-index job has been successfully marked as acknowledged.
      Throws:
      InterruptedException - if interrupted when trying to ack the job
    • clear

      void clear()
      Delete most recent or running re-index job. No-op if there is neither
      Since:
      8.3.0
    • isReIndexing

      boolean isReIndexing()
      Returns true if an in progress reindex job exists in the cluster
      Since:
      8.8
    • createNewJob

      Optional<ReIndexJob> createNewJob(List<String> keys, EnumSet<ReIndexOption> reIndexOptions)
      Create a new job with the given space keys and reindex options.
      Since:
      9.4