Class AbstractBulkByScrollRequest<Self extends AbstractBulkByScrollRequest<Self>>

All Implemented Interfaces:
Writeable, org.elasticsearch.core.RefCounted, TaskAwareRequest
Direct Known Subclasses:
AbstractBulkIndexByScrollRequest, DeleteByQueryRequest

public abstract class AbstractBulkByScrollRequest<Self extends AbstractBulkByScrollRequest<Self>> extends ActionRequest
  • Field Details

    • MAX_DOCS_ALL_MATCHES

      public static final int MAX_DOCS_ALL_MATCHES
      See Also:
      Constant Field Values
    • SIZE_ALL_MATCHES

      @Deprecated public static final int SIZE_ALL_MATCHES
      Deprecated.
      please use MAX_DOCS_ALL_MATCHES instead.
      See Also:
      Constant Field Values
    • DEFAULT_SCROLL_TIMEOUT

      public static final org.elasticsearch.core.TimeValue DEFAULT_SCROLL_TIMEOUT
    • DEFAULT_SCROLL_SIZE

      public static final int DEFAULT_SCROLL_SIZE
      See Also:
      Constant Field Values
    • AUTO_SLICES

      public static final int AUTO_SLICES
      See Also:
      Constant Field Values
    • AUTO_SLICES_VALUE

      public static final String AUTO_SLICES_VALUE
      See Also:
      Constant Field Values
  • Constructor Details

    • AbstractBulkByScrollRequest

      public AbstractBulkByScrollRequest(StreamInput in) throws IOException
      Throws:
      IOException
    • AbstractBulkByScrollRequest

      public AbstractBulkByScrollRequest(SearchRequest searchRequest, boolean setDefaults)
      Constructor for actual use.
      Parameters:
      searchRequest - the search request to execute to get the documents to process
      setDefaults - should this request set the defaults on the search request? Usually set to true but leave it false to support request slicing
  • Method Details

    • self

      protected abstract Self self()
      `this` cast to Self. Used for building fluent methods without cast warnings.
    • validate

      Specified by:
      validate in class ActionRequest
    • getSize

      @Deprecated public int getSize()
      Deprecated.
      please use getMaxDocs() instead.
      Maximum number of processed documents. Defaults to -1 meaning process all documents.
    • setSize

      @Deprecated public Self setSize(int size)
      Deprecated.
      please use setMaxDocs(int) instead.
      Maximum number of processed documents. Defaults to -1 meaning process all documents.
    • getMaxDocs

      public int getMaxDocs()
      Maximum number of processed documents. Defaults to -1 meaning process all documents.
    • setMaxDocs

      public Self setMaxDocs(int maxDocs)
      Maximum number of processed documents. Defaults to -1 meaning process all documents.
    • isAbortOnVersionConflict

      public boolean isAbortOnVersionConflict()
      Whether or not version conflicts cause the action to abort.
    • setAbortOnVersionConflict

      public Self setAbortOnVersionConflict(boolean abortOnVersionConflict)
      Set whether or not version conflicts cause the action to abort.
    • setConflicts

      public void setConflicts(String conflicts)
      Sets abortOnVersionConflict based on REST-friendly names.
    • getSearchRequest

      public SearchRequest getSearchRequest()
      The search request that matches the documents to process.
    • isRefresh

      public boolean isRefresh()
      Call refresh on the indexes we've written to after the request ends?
    • setRefresh

      public Self setRefresh(boolean refresh)
      Call refresh on the indexes we've written to after the request ends?
    • getTimeout

      public org.elasticsearch.core.TimeValue getTimeout()
      Timeout to wait for the shards on to be available for each bulk request?
    • setTimeout

      public Self setTimeout(org.elasticsearch.core.TimeValue timeout)
      Timeout to wait for the shards on to be available for each bulk request?
    • setTimeout

      public Self setTimeout(String timeout)
      Timeout to wait for the shards on to be available for each bulk request?
    • getWaitForActiveShards

      public ActiveShardCount getWaitForActiveShards()
      The number of shard copies that must be active before proceeding with the write.
    • setWaitForActiveShards

      public Self setWaitForActiveShards(ActiveShardCount activeShardCount)
      Sets the number of shard copies that must be active before proceeding with the write. See ReplicationRequest.waitForActiveShards(ActiveShardCount) for details.
    • setWaitForActiveShards

      public Self setWaitForActiveShards(int waitForActiveShards)
      A shortcut for setWaitForActiveShards(ActiveShardCount) where the numerical shard count is passed in, instead of having to first call ActiveShardCount.from(int) to get the ActiveShardCount.
    • getRetryBackoffInitialTime

      public org.elasticsearch.core.TimeValue getRetryBackoffInitialTime()
      Initial delay after a rejection before retrying request.
    • setRetryBackoffInitialTime

      public Self setRetryBackoffInitialTime(org.elasticsearch.core.TimeValue retryBackoffInitialTime)
      Set the initial delay after a rejection before retrying request.
    • getMaxRetries

      public int getMaxRetries()
      Total number of retries attempted for rejections.
    • setMaxRetries

      public Self setMaxRetries(int maxRetries)
      Set the total number of retries attempted for rejections. There is no way to ask for unlimited retries.
    • getRequestsPerSecond

      public float getRequestsPerSecond()
      The throttle for this request in sub-requests per second. Float.POSITIVE_INFINITY means set no throttle and that is the default. Throttling is done between batches, as we start the next scroll requests. That way we can increase the scroll's timeout to make sure that it contains any time that we might wait.
    • setRequestsPerSecond

      public Self setRequestsPerSecond(float requestsPerSecond)
      Set the throttle for this request in sub-requests per second. Float.POSITIVE_INFINITY means set no throttle and that is the default. Throttling is done between batches, as we start the next scroll requests. That way we can increase the scroll's timeout to make sure that it contains any time that we might wait.
    • setShouldStoreResult

      public Self setShouldStoreResult(boolean shouldStoreResult)
      Should this task store its result after it has finished?
    • getShouldStoreResult

      public boolean getShouldStoreResult()
      Description copied from class: ActionRequest
      Should this task store its result after it has finished?
      Overrides:
      getShouldStoreResult in class ActionRequest
    • setScroll

      public Self setScroll(org.elasticsearch.core.TimeValue keepAlive)
      Set scroll timeout for SearchRequest
    • getScrollTime

      public org.elasticsearch.core.TimeValue getScrollTime()
      Get scroll timeout
    • setSlices

      public Self setSlices(int slices)
      The number of slices this task should be divided into. Defaults to 1 meaning the task isn't sliced into subtasks. A value of 0 is equivalent to the "auto" slices parameter of the Rest API.
    • getSlices

      public int getSlices()
      The number of slices this task should be divided into. Defaults to 1 meaning the task isn't sliced into subtasks.
    • forSlice

      public abstract Self forSlice(TaskId slicingTask, SearchRequest slice, int totalSlices)
      Build a new request for a slice of the parent request.
    • doForSlice

      protected Self doForSlice(Self request, TaskId slicingTask, int totalSlices)
      Setup a clone of this request with the information needed to process a slice of it.
    • createTask

      public Task createTask(long id, String type, String action, TaskId parentTaskId, Map<String,​String> headers)
      Description copied from interface: TaskAwareRequest
      Returns the task object that should be used to keep track of the processing of the request.
    • writeTo

      public void writeTo(StreamOutput out) throws IOException
      Description copied from interface: Writeable
      Write this into the StreamOutput.
      Specified by:
      writeTo in interface Writeable
      Overrides:
      writeTo in class ActionRequest
      Throws:
      IOException
    • searchToString

      protected void searchToString(StringBuilder b)
      Append a short description of the search request to a StringBuilder. Used to make toString.
    • getDescription

      public String getDescription()
      Description copied from interface: TaskAwareRequest
      Returns optional description of the request to be displayed by the task manager