Class AsyncExternalSourceOperatorFactory

java.lang.Object
org.elasticsearch.xpack.esql.datasources.AsyncExternalSourceOperatorFactory
All Implemented Interfaces:
Describable, Operator.OperatorFactory, SourceOperator.SourceOperatorFactory

public class AsyncExternalSourceOperatorFactory extends Object implements SourceOperator.SourceOperatorFactory
Dual-mode async factory for creating source operators that read from external storage.

This factory automatically selects the optimal execution mode based on the FormatReader's capabilities:

Key design principles:

  • Simple things stay simple - CSV/JSON readers just implement sync read()
  • Async when beneficial - Parquet can override readAsync() for parallel I/O
  • ES ThreadPool integration - All executors come from ES, not standalone threads
  • Backpressure via buffer - Uses AsyncExternalSourceBuffer with waitForSpace()
See Also: