Class IngestService

java.lang.Object
org.elasticsearch.ingest.IngestService
All Implemented Interfaces:
ClusterStateApplier, ReportingService<IngestInfo>

public class IngestService
extends java.lang.Object
implements ClusterStateApplier, ReportingService<IngestInfo>
Holder class for several ingest related services.
  • Field Details

  • Constructor Details

  • Method Details

    • resolvePipelines

      public static boolean resolvePipelines​(DocWriteRequest<?> originalRequest, IndexRequest indexRequest, Metadata metadata)
    • getClusterService

      public ClusterService getClusterService()
    • getScriptService

      public ScriptService getScriptService()
    • delete

      public void delete​(DeletePipelineRequest request, ActionListener<AcknowledgedResponse> listener)
      Deletes the pipeline specified by id in the request.
    • getPipelines

      public static java.util.List<PipelineConfiguration> getPipelines​(ClusterState clusterState, java.lang.String... ids)
      Returns:
      pipeline configuration specified by id. If multiple ids or wildcards are specified multiple pipelines may be returned
    • putPipeline

      public void putPipeline​(java.util.Map<DiscoveryNode,​IngestInfo> ingestInfos, PutPipelineRequest request, ActionListener<AcknowledgedResponse> listener) throws java.lang.Exception
      Stores the specified pipeline definition in the request.
      Throws:
      java.lang.Exception
    • getPipeline

      public Pipeline getPipeline​(java.lang.String id)
      Returns the pipeline by the specified id
    • getProcessorFactories

      public java.util.Map<java.lang.String,​Processor.Factory> getProcessorFactories()
    • info

      public IngestInfo info()
      Specified by:
      info in interface ReportingService<IngestInfo>
    • innerPut

      public static ClusterState innerPut​(PutPipelineRequest request, ClusterState currentState)
    • executeBulkRequest

      public void executeBulkRequest​(int numberOfActionRequests, java.lang.Iterable<DocWriteRequest<?>> actionRequests, java.util.function.BiConsumer<java.lang.Integer,​java.lang.Exception> onFailure, java.util.function.BiConsumer<java.lang.Thread,​java.lang.Exception> onCompletion, java.util.function.IntConsumer onDropped, java.lang.String executorName)
    • stats

      public IngestStats stats()
    • addIngestClusterStateListener

      public void addIngestClusterStateListener​(java.util.function.Consumer<ClusterState> listener)
      Adds a listener that gets invoked with the current cluster state before processor factories get invoked. This is useful for components that are used by ingest processors, so that they have the opportunity to update before these components get used by the ingest processor factory.
    • applyClusterState

      public void applyClusterState​(ClusterChangedEvent event)
      Description copied from interface: ClusterStateApplier
      Called when a new cluster state (ClusterChangedEvent.state() needs to be applied. The cluster state to be applied is already committed when this method is called, so an applier must therefore be prepared to deal with any state it receives without throwing an exception. Throwing an exception from an applier is very bad because it will stop the application of this state before it has reached all the other appliers, and will likely result in another attempt to apply the same (or very similar) cluster state which might continue until this node is removed from the cluster.
      Specified by:
      applyClusterState in interface ClusterStateApplier
    • getProcessorsInPipeline

      public <P extends Processor> java.util.List<P> getProcessorsInPipeline​(java.lang.String pipelineId, java.lang.Class<P> clazz)
      Gets all the Processors of the given type from within a Pipeline.
      Parameters:
      pipelineId - the pipeline to inspect
      clazz - the Processor class to look for
      Returns:
      True if the pipeline contains an instance of the Processor class passed in