Interface IndexLifecycleManager

All Superinterfaces:
Shutdown, Sized
All Known Subinterfaces:
CompositeIndexLifecycleManager, IssueIndexManager, JiraIndexManager, SharedEntityIndexManager
All Known Implementing Classes:
BulkOnlyIndexManager, DefaultCompositeIndexLifecycleManager, DefaultIndexManager, DefaultSharedEntityIndexManager, IndexManagerBase

@PublicApi public interface IndexLifecycleManager extends Sized, Shutdown
Manage an index lifecycle.
Since:
v3.13
  • Method Details

    • reIndexAll

      long reIndexAll(Context context)
      Reindex everything.
      Parameters:
      context - used to report progress back to the user or to the logs. Must not be null.
      Returns:
      Reindex time in ms.
    • reIndexAll

      long reIndexAll(Context context, IssueIndexingParams issueIndexingParams)
      Reindex indexes defined by the IssueIndexingParams.
      Parameters:
      context - used to report progress back to the user or to the logs. Must not be null.
      issueIndexingParams - indexes to reindex.
      Returns:
      Reindex time in ms.
      Since:
      v6.4
    • reIndexAllIssuesInBackground

      long reIndexAllIssuesInBackground(Context context)
      Reindex everything, but don't stop the world Comments and change history will not be reindexed.
      Parameters:
      context - used to report progress back to the user or to the logs. Must not be null.
      Returns:
      Reindex time in ms.
      Since:
      v5.2
    • reIndexIssuesInBackground

      long reIndexIssuesInBackground(Context context, IssueIndexingParams issueIndexingParams)
      Reindex everything, but don't stop the world
      Parameters:
      context - used to report progress back to the user or to the logs. Must not be null.
      issueIndexingParams - determines witch related objects should be indexed together with issue.
      Returns:
      Reindex time in ms.
      Since:
      v6.4
    • optimize

      long optimize()
      Optimize the underlying indexes. Make the subsequent searching more efficient.
      Returns:
      the amount of time in millis this method took (because you are too lazy to time me), 0 if indexing is not enabled or -1 if we cannot obtain the index writeLock.
      Throws:
      IndexException - if the indexes are seriously in trouble
    • shutdown

      void shutdown()
      Shuts down the indexing manager and closes its resources (if any).
      Specified by:
      shutdown in interface Shutdown
    • activate

      long activate(Context context)
      Activates search indexes. This will rebuild the indexes.
      Parameters:
      context - used to report progress back to the user or to the logs. Must not be null.
      Returns:
      Reindex time in ms
    • activate

      long activate(Context context, boolean reindex)
      Activates search indexes.
      Parameters:
      context - used to report progress back to the user or to the logs. Must not be null.
      reindex - reindex after activation.
      Returns:
      Reindex time in ms
    • deactivate

      void deactivate()
      De-activates indexing (as happens from the admin page) and removes index directories.
    • isIndexAvailable

      @Deprecated(since="10.4", forRemoval=true) boolean isIndexAvailable()
      Deprecated, for removal: This API element is subject to removal in a future version.
      It's Lucene specific, no longer relevant for OpenSearch. No replacement.
      Whether this index is available. The index is not available if the index is being rebuilt or recovered. In a clustered environment this reflects only the state on the local node.
      Returns:
      Whether this index is available.
      Since:
      v6.3.3
    • isIndexConsistent

      @Deprecated(since="10.4", forRemoval=true) boolean isIndexConsistent()
      Deprecated, for removal: This API element is subject to removal in a future version.
      It's Lucene specific, no longer relevant for OpenSearch. No replacement.
      Returns:
      the result of a simple consistency check that compares the index state to the current number of issues. A background re-index should not be attempted when this returns false. Note that false is also returned if the index is not available .
      Since:
      5.2
    • getAllIndexPaths

      @Deprecated(since="10.4", forRemoval=true) Collection<String> getAllIndexPaths()
      Deprecated, for removal: This API element is subject to removal in a future version.
      It's Lucene specific, no longer relevant for OpenSearch. No replacement.
      Returns:
      a collection of Strings that map to all paths that contain Lucene indexes. Must not be null.
    • size

      int size()
      Specified by:
      size in interface Sized
      Returns:
      how many Entities will be re-indexed by reIndexAll(Context)