Class ElasticsearchConcurrentMergeScheduler

java.lang.Object
org.apache.lucene.index.MergeScheduler
org.apache.lucene.index.ConcurrentMergeScheduler
org.elasticsearch.index.engine.ElasticsearchConcurrentMergeScheduler
All Implemented Interfaces:
Closeable, AutoCloseable, ElasticsearchMergeScheduler

public class ElasticsearchConcurrentMergeScheduler extends org.apache.lucene.index.ConcurrentMergeScheduler implements ElasticsearchMergeScheduler
An extension to the ConcurrentMergeScheduler that provides tracking on merge times, total and current merges.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.lucene.index.ConcurrentMergeScheduler

    org.apache.lucene.index.ConcurrentMergeScheduler.MergeThread

    Nested classes/interfaces inherited from class org.apache.lucene.index.MergeScheduler

    org.apache.lucene.index.MergeScheduler.MergeSource
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final org.apache.logging.log4j.Logger
     

    Fields inherited from class org.apache.lucene.index.ConcurrentMergeScheduler

    AUTO_DETECT_MERGES_AND_THREADS, DEFAULT_CPU_CORE_COUNT_PROPERTY, intraMergeExecutor, mergeThreadCount, mergeThreads, targetMBPerSec

    Fields inherited from class org.apache.lucene.index.MergeScheduler

    infoStream
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    A callback allowing for custom logic before an actual merge starts.
    protected void
    A callback allowing for custom logic before an actual merge starts.
    org.apache.lucene.index.MergeScheduler
     
    void
     
    protected void
    doMerge(org.apache.lucene.index.MergeScheduler.MergeSource mergeSource, org.apache.lucene.index.MergePolicy.OneMerge merge)
     
    getIntraMergeExecutor(org.apache.lucene.index.MergePolicy.OneMerge merge)
     
    org.apache.lucene.index.MergeScheduler
     
    protected org.apache.lucene.index.ConcurrentMergeScheduler.MergeThread
    getMergeThread(org.apache.lucene.index.MergeScheduler.MergeSource mergeSource, org.apache.lucene.index.MergePolicy.OneMerge merge)
     
    protected boolean
    maybeStall(org.apache.lucene.index.MergeScheduler.MergeSource mergeSource)
     
    protected void
    message(String message)
     
     
    void
     
     
    protected boolean
     

    Methods inherited from class org.apache.lucene.index.ConcurrentMergeScheduler

    disableAutoIOThrottle, doStall, enableAutoIOThrottle, getAutoIOThrottle, getForceMergeMBPerSec, getIORateLimitMBPerSec, getMaxMergeCount, getMaxThreadCount, handleMergeException, merge, mergeThreadCount, setDefaultMaxMergesAndThreads, setForceMergeMBPerSec, setMaxMergesAndThreads, sync, targetMBPerSecChanged, toString, updateMergeThreads, wrapForMerge

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • logger

      protected final org.apache.logging.log4j.Logger logger
  • Method Details

    • onGoingMerges

      public Set<OnGoingMerge> onGoingMerges()
      Specified by:
      onGoingMerges in interface ElasticsearchMergeScheduler
    • getIntraMergeExecutor

      public Executor getIntraMergeExecutor(org.apache.lucene.index.MergePolicy.OneMerge merge)
      Overrides:
      getIntraMergeExecutor in class org.apache.lucene.index.ConcurrentMergeScheduler
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class org.apache.lucene.index.ConcurrentMergeScheduler
      Throws:
      IOException
    • verbose

      protected boolean verbose()
      Overrides:
      verbose in class org.apache.lucene.index.MergeScheduler
    • message

      protected void message(String message)
      Overrides:
      message in class org.apache.lucene.index.MergeScheduler
    • doMerge

      protected void doMerge(org.apache.lucene.index.MergeScheduler.MergeSource mergeSource, org.apache.lucene.index.MergePolicy.OneMerge merge) throws IOException
      Overrides:
      doMerge in class org.apache.lucene.index.ConcurrentMergeScheduler
      Throws:
      IOException
    • beforeMerge

      protected void beforeMerge(OnGoingMerge merge)
      A callback allowing for custom logic before an actual merge starts.
    • afterMerge

      protected void afterMerge(OnGoingMerge merge)
      A callback allowing for custom logic before an actual merge starts.
    • clone

      public org.apache.lucene.index.MergeScheduler clone()
      Overrides:
      clone in class Object
    • maybeStall

      protected boolean maybeStall(org.apache.lucene.index.MergeScheduler.MergeSource mergeSource)
      Overrides:
      maybeStall in class org.apache.lucene.index.ConcurrentMergeScheduler
    • getMergeThread

      protected org.apache.lucene.index.ConcurrentMergeScheduler.MergeThread getMergeThread(org.apache.lucene.index.MergeScheduler.MergeSource mergeSource, org.apache.lucene.index.MergePolicy.OneMerge merge) throws IOException
      Overrides:
      getMergeThread in class org.apache.lucene.index.ConcurrentMergeScheduler
      Throws:
      IOException
    • stats

      public MergeStats stats()
      Specified by:
      stats in interface ElasticsearchMergeScheduler
    • refreshConfig

      public void refreshConfig()
      Specified by:
      refreshConfig in interface ElasticsearchMergeScheduler
    • getMergeScheduler

      public org.apache.lucene.index.MergeScheduler getMergeScheduler()
      Specified by:
      getMergeScheduler in interface ElasticsearchMergeScheduler