Class MergePolicy.MergeObserver

java.lang.Object
org.apache.lucene.index.MergePolicy.MergeObserver
Enclosing class:
MergePolicy

public static final class MergePolicy.MergeObserver extends Object
Observer for merge operations returned by IndexWriter.forceMergeDeletes(boolean). Provides methods to query merge status and wait for completion.

When no merges are needed, numMerges() returns 0. In this case, await() returns true immediately since there is nothing to wait for.

WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Method Details

    • numMerges

      public int numMerges()
      Returns the number of merges in this specification.
      Returns:
      number of merges, or 0 if no merges were scheduled
    • numCompletedMerges

      public int numCompletedMerges()
      Returns the number of completed merges in this specification. Useful for tracking merge progress: numCompletedMerges() / numMerges().
      Returns:
      number of completed merges
    • await

      public boolean await()
      Waits for all merges in this specification to complete. Returns immediately if no merges were scheduled.
      Returns:
      true if all merges completed successfully or no merges were needed, false on error
    • await

      public boolean await(long timeout, TimeUnit unit)
      Waits for all merges in this specification to complete, with timeout. Returns immediately if no merges were scheduled.
      Parameters:
      timeout - maximum time to wait
      unit - time unit for timeout
      Returns:
      true if all merges completed within timeout or no merges were needed, false on timeout or error
    • awaitAsync

      public CompletableFuture<Void> awaitAsync()
      Returns a CompletableFuture that completes when all merges finish. Returns an already-completed future if no merges were scheduled.
      Returns:
      future that completes when merges finish
    • toString

      public String toString()
      Overrides:
      toString in class Object