Class TransportSimulateBulkAction


public class TransportSimulateBulkAction extends TransportAbstractBulkAction
This action simulates bulk indexing data. Pipelines are executed for all indices that the request routes to, but no data is actually indexed and no state is changed. Unlike TransportBulkAction, this does not push the work out to the nodes where the shards live (since shards are not actually modified).
  • Field Details

    • SIMULATE_MAPPING_VALIDATION

      public static final NodeFeature SIMULATE_MAPPING_VALIDATION
    • SIMULATE_MAPPING_VALIDATION_TEMPLATES

      public static final NodeFeature SIMULATE_MAPPING_VALIDATION_TEMPLATES
    • SIMULATE_COMPONENT_TEMPLATE_SUBSTITUTIONS

      public static final NodeFeature SIMULATE_COMPONENT_TEMPLATE_SUBSTITUTIONS
    • SIMULATE_INDEX_TEMPLATE_SUBSTITUTIONS

      public static final NodeFeature SIMULATE_INDEX_TEMPLATE_SUBSTITUTIONS
    • SIMULATE_MAPPING_ADDITION

      public static final NodeFeature SIMULATE_MAPPING_ADDITION
    • SIMULATE_SUPPORT_NON_TEMPLATE_MAPPING

      public static final NodeFeature SIMULATE_SUPPORT_NON_TEMPLATE_MAPPING
  • Constructor Details

  • Method Details

    • doInternalExecute

      protected void doInternalExecute(Task task, BulkRequest bulkRequest, Executor executor, ActionListener<BulkResponse> listener, long relativeStartTimeNanos) throws IOException
      Description copied from class: TransportAbstractBulkAction
      This method creates any missing resources and actually applies the BulkRequest to the relevant indices
      Specified by:
      doInternalExecute in class TransportAbstractBulkAction
      Parameters:
      task - The task in which this work is being done
      bulkRequest - The BulkRequest of changes to make to indices
      executor - The executor for the thread pool in which the work is to be done
      listener - The listener to be notified of results
      relativeStartTimeNanos - The relative start time of this bulk load, to be used in computing the time taken for the BulkResponse
      Throws:
      IOException
    • getIngestService

      protected IngestService getIngestService(BulkRequest request)
      Overrides:
      getIngestService in class TransportAbstractBulkAction
    • resolveFailureStore

      protected Boolean resolveFailureStore(String indexName, Metadata metadata, long epochMillis)
      Description copied from class: TransportAbstractBulkAction
      Determines if an index name is associated with either an existing data stream or a template for one that has the failure store enabled.
      Specified by:
      resolveFailureStore in class TransportAbstractBulkAction
      Parameters:
      indexName - The index name to check.
      metadata - Cluster state metadata.
      epochMillis - A timestamp to use when resolving date math in the index name.
      Returns:
      true if this is not a simulation, and the given index name corresponds to a data stream with a failure store or if it matches a template that has a data stream failure store enabled. Returns false if the index name corresponds to a data stream, but it doesn't have the failure store enabled. Returns null when it doesn't correspond to a data stream.