Class EsqlPlugin

java.lang.Object
org.elasticsearch.plugins.Plugin
org.elasticsearch.xpack.esql.plugin.EsqlPlugin
All Implemented Interfaces:
Closeable, AutoCloseable, ActionPlugin, ExtensiblePlugin, SearchPlugin

public class EsqlPlugin extends Plugin implements ActionPlugin, ExtensiblePlugin, SearchPlugin
  • Field Details

    • ESQL_WORKER_THREAD_POOL_NAME

      public static final String ESQL_WORKER_THREAD_POOL_NAME
      See Also:
    • EXTERNAL_IO_THREAD_POOL_NAME

      public static final String EXTERNAL_IO_THREAD_POOL_NAME
      Name of the dedicated scaling pool for blocking external blob-store I/O and the streaming parse pipeline. Sized 0..ExternalSourceSettings.externalIoThreads(Settings) — tracking the same single CPU-scaled knob (snapshot_meta shape, capped at 100, or the esql.external.max_concurrent_requests operator override) that sizes the permit semaphore and the S3/Azure SDK connection pools, so the pool cannot diverge from the concurrency the reads are permitted. Scales from 0 so idle nodes pay nothing. See externalBlobStorePool() for why this is separate from esql_worker.
      See Also:
    • ESQL_WORKER_THREAD_POOL_SIZE

      public static final Setting<Integer> ESQL_WORKER_THREAD_POOL_SIZE
    • QUERY_ALLOW_PARTIAL_RESULTS

      public static final Setting<Boolean> QUERY_ALLOW_PARTIAL_RESULTS
    • LOOKUP_JOIN_STREAMING

      public static final Setting<Boolean> LOOKUP_JOIN_STREAMING
      Controls whether LOOKUP JOIN uses the streaming lookup operator, which streams pages to the lookup node instead of performing a request per input page. Acts as an escape hatch to fall back to the non-streaming operator; even when enabled, streaming is only used if all target nodes support the streaming protocol.
    • FLATTENED_ENABLED

      public static final Setting<Boolean> FLATTENED_ENABLED
      Kill switch for the flattened data type in ES|QL. When false, flattened fields resolve as unsupported during index resolution (the exact pre-flattened-support behavior: FROM still works and the column is returned as unsupported, but any explicit use errors). Because field_extract only operates on flattened fields, disabling the type also disables that function transitively.
    • ESQL_QUERYLOG_THRESHOLD_WARN_SETTING

      public static final Setting<TimeValue> ESQL_QUERYLOG_THRESHOLD_WARN_SETTING
    • ESQL_QUERYLOG_THRESHOLD_INFO_SETTING

      public static final Setting<TimeValue> ESQL_QUERYLOG_THRESHOLD_INFO_SETTING
    • ESQL_QUERYLOG_THRESHOLD_DEBUG_SETTING

      public static final Setting<TimeValue> ESQL_QUERYLOG_THRESHOLD_DEBUG_SETTING
    • ESQL_QUERYLOG_THRESHOLD_TRACE_SETTING

      public static final Setting<TimeValue> ESQL_QUERYLOG_THRESHOLD_TRACE_SETTING
    • ESQL_QUERYLOG_INCLUDE_USER_SETTING

      public static final Setting<Boolean> ESQL_QUERYLOG_INCLUDE_USER_SETTING
    • GROK_WATCHDOG_MAX_EXECUTION_TIME

      public static final Setting<TimeValue> GROK_WATCHDOG_MAX_EXECUTION_TIME
      Maximum time (in milliseconds) that a GROK matcher is allowed to run before being interrupted. Limits how long a GROK matcher can run to protect against expensive regex patterns. Read directly from each node's own ClusterSettings wherever the matcher is built for execution (see LocalExecutionPlanner#planGrok) rather than being carried in the ES|QL Configuration wire format, since every node can resolve this node-scoped setting on its own — including live updates, since it is also dynamic.
    • STORED_FIELDS_SEQUENTIAL_PROPORTION

      public static final Setting<Double> STORED_FIELDS_SEQUENTIAL_PROPORTION
      Tuning parameter for deciding when to use the "merge" stored field loader. Think of it as "how similar to a sequential block of documents do I have to be before I'll use the merge reader?" So a value of 1 means I have to be exactly a sequential block, like 0, 1, 2, 3, .. 1299, 1300. A value of .2 means we'll use the sequential reader even if we only need one in ten documents.

      The default value of this was experimentally derived using a script. And a little paranoia. A lower default value was looking good locally, but I'm concerned about the implications of effectively using this all the time.

  • Constructor Details

    • EsqlPlugin

      public EsqlPlugin()
  • Method Details