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.
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(long timeout, java.util.concurrent.TimeUnit unit)Waits for all merges in this specification to complete, with timeout. Returns immediately if no merges were scheduled.
| name | type | description |
|---|---|---|
| timeout | long | maximum time to wait |
| unit | java.util.concurrent.TimeUnit | time unit for timeout |
Returns: true if all merges completed within timeout or no merges were needed,
false on timeout or error
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
numCompletedMerges()Returns the number of completed merges in this specification. Useful for tracking merge
progress: numCompletedMerges() / numMerges().
Returns: number of completed merges
numMerges()Returns the number of merges in this specification.
Returns: number of merges, or 0 if no merges were scheduled
toString()