Class ScrollableHitSource

java.lang.Object
org.elasticsearch.index.reindex.ScrollableHitSource
Direct Known Subclasses:
ClientScrollableHitSource

public abstract class ScrollableHitSource
extends java.lang.Object
A scrollable source of results. Pumps data out into the passed onResponse consumer. Same data may come out several times in case of failures during searching (though not yet). Once the onResponse consumer is done, it should call AsyncResponse.isDone(time) to receive more data (only receives one response at a time).
  • Field Details

    • logger

      protected final org.apache.logging.log4j.Logger logger
    • backoffPolicy

      protected final BackoffPolicy backoffPolicy
    • threadPool

      protected final ThreadPool threadPool
    • countSearchRetry

      protected final java.lang.Runnable countSearchRetry
    • fail

      protected final java.util.function.Consumer<java.lang.Exception> fail
  • Constructor Details

    • ScrollableHitSource

      public ScrollableHitSource​(org.apache.logging.log4j.Logger logger, BackoffPolicy backoffPolicy, ThreadPool threadPool, java.lang.Runnable countSearchRetry, java.util.function.Consumer<ScrollableHitSource.AsyncResponse> onResponse, java.util.function.Consumer<java.lang.Exception> fail)
  • Method Details

    • start

      public final void start()
    • close

      public final void close​(java.lang.Runnable onCompletion)
    • doStart

      protected abstract void doStart​(RejectAwareActionListener<ScrollableHitSource.Response> searchListener)
    • doStartNextScroll

      protected abstract void doStartNextScroll​(java.lang.String scrollId, org.elasticsearch.common.unit.TimeValue extraKeepAlive, RejectAwareActionListener<ScrollableHitSource.Response> searchListener)
    • clearScroll

      protected abstract void clearScroll​(java.lang.String scrollId, java.lang.Runnable onCompletion)
      Called to clear a scroll id.
      Parameters:
      scrollId - the id to clear
      onCompletion - implementers must call this after completing the clear whether they are successful or not
    • cleanup

      protected abstract void cleanup​(java.lang.Runnable onCompletion)
      Called after the process has been totally finished to clean up any resources the process needed like remote connections.
      Parameters:
      onCompletion - implementers must call this after completing the cleanup whether they are successful or not
    • setScroll

      public final void setScroll​(java.lang.String scrollId)
      Set the id of the last scroll. Used for debugging.