How can I unsubscribe this list?

On Fri, Jan 9, 2026 at 5:33 PM <[email protected]> wrote:

> This is an automated email from the ASF dual-hosted git repository.
>
> mikemccand pushed a commit to branch branch_10x
> in repository https://gitbox.apache.org/repos/asf/lucene.git
>
>
> The following commit(s) were added to refs/heads/branch_10x by this push:
>      new 1fdcbaea4ec Expose MergeRateLimiter in runOnMergeFinished hook
> (#15507)
> 1fdcbaea4ec is described below
>
> commit 1fdcbaea4ec9697bfc5a8b3938a540b2dcc708d0
> Author: Zihan Xu <[email protected]>
> AuthorDate: Fri Jan 9 11:55:20 2026 -0800
>
>     Expose MergeRateLimiter in runOnMergeFinished hook (#15507)
>
>     * Expose MergeRateLimiter in runOnMergeFinished hook
>
>     Changes runOnMergeFinished method signature in ConcurrentMergeScheduler
>     to provide access to OneMerge and MergeRateLimiter parameters. This
>     allows applications to monitor merge performance metrics like pause
> time,
>     throttling behavior, and throughput.
>
>     - Changed runOnMergeFinished from package-private to protected
>     - Added OneMerge merge parameter for merge context
>     - Added MergeRateLimiter rateLimiter parameter for metrics access
>
>     This enables custom monitoring and observability for merge operations
>     without requiring internal API access.
>
>     * Fomat code
>
>     * Include Javadocs for runOnMergeFinished
>
>     * Add @lucene.experimental to the API javadocs
>
>     * Add an entry to CHANGES.txt
>
>     ---------
>
>     Co-authored-by: Zihan Xu <[email protected]>
>     Co-authored-by: Michael McCandless <[email protected]>
> ---
>  lucene/CHANGES.txt                                             |  6 ++++++
>  .../java/org/apache/lucene/index/ConcurrentMergeScheduler.java | 10
> ++++++++--
>  2 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
> index 66ec78f553d..dcfc576d19c 100644
> --- a/lucene/CHANGES.txt
> +++ b/lucene/CHANGES.txt
> @@ -39,6 +39,12 @@ API Changes
>
>  * GITHUB#15559: Deprecate some public FuzzySet methods ahead of removing
> them in the future (Greg Miller)
>
> +* GITHUB#15507: Expose MergeRateLimiter in
> ConcurrentMergeScheduler.runOnMergeFinished hook.
> +  The runOnMergeFinished method signature now includes OneMerge and
> MergeRateLimiter parameters,
> +  enabling applications to monitor merge performance metrics like pause
> time, throttling behavior,
> +  and throughput. This provides visibility into Lucene's merge
> backpressure mechanisms that can
> +  stall indexing when merge debt accumulates. (Zihan Xu)
> +
>  New Features
>  ---------------------
>  * GITHUB#15328: VectorSimilarityFunction.getValues() now implements
> doubleVal allowing its
> diff --git
> a/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
> b/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
> index 86a71efd8f4..3f235b93cd7 100644
> ---
> a/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
> +++
> b/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
> @@ -677,7 +677,13 @@ public class ConcurrentMergeScheduler extends
> MergeScheduler {
>      return thread;
>    }
>
> -  synchronized void runOnMergeFinished(MergeSource mergeSource) {
> +  /**
> +   * Called when a merge thread finishes.
> +   *
> +   * @lucene.experimental
> +   */
> +  protected synchronized void runOnMergeFinished(
> +      MergeSource mergeSource, OneMerge merge, MergeRateLimiter
> rateLimiter) {
>      // the merge call as well as the merge thread handling in the finally
>      // block must be sync'd on CMS otherwise stalling decisions might
> cause
>      // us to miss pending merges
> @@ -742,7 +748,7 @@ public class ConcurrentMergeScheduler extends
> MergeScheduler {
>                    rateToString(rateLimiter.getMBPerSec())));
>          }
>
> -        runOnMergeFinished(mergeSource);
> +        runOnMergeFinished(mergeSource, merge, rateLimiter);
>
>          if (verbose()) {
>            message(String.format(Locale.ROOT, "merge thread %s end",
> this.getName()));
>
>

-- 

*Heitor G. Peralles*
*Direct**:* +55 21 979 661 187 <https://wa.me/5521979661187>
*Email:* [email protected]
*LinkedIn:* linkedin.com/in/heitorperalles
<https://www.linkedin.com/in/heitorperalles/>

Reply via email to