Class QueryPragmas

java.lang.Object
org.elasticsearch.xpack.esql.plugin.QueryPragmas
All Implemented Interfaces:
Writeable

public final class QueryPragmas extends Object implements Writeable
Holds the pragmas for an ESQL query. Just a wrapper of settings for now.
  • Field Details

  • Constructor Details

  • Method Details

    • writeTo

      public void writeTo(StreamOutput out) throws IOException
      Specified by:
      writeTo in interface Writeable
      Throws:
      IOException
    • getSettings

      public Settings getSettings()
    • exchangeBufferSize

      public int exchangeBufferSize()
    • concurrentExchangeClients

      public int concurrentExchangeClients()
    • dataPartitioning

      public DataPartitioning dataPartitioning(DataPartitioning defaultDataPartitioning)
    • taskConcurrency

      public int taskConcurrency()
    • pageSize

      public int pageSize()
      Size of a page in entries with 0 being a special value asking to adaptively size based on the number of columns in the page.
    • statusInterval

      public org.elasticsearch.core.TimeValue statusInterval()
      The minimum interval between syncs of the DriverStatus, making the status available to task API.
    • enrichMaxWorkers

      public int enrichMaxWorkers()
      Returns the maximum number of workers for enrich lookup. A higher number of workers reduces latency but increases cluster load. Defaults to 1.
    • maxConcurrentNodesPerCluster

      public int maxConcurrentNodesPerCluster()
      The maximum number of nodes to be queried at once by this query. This is safeguard to avoid overloading the cluster.
    • maxConcurrentShardsPerNode

      public int maxConcurrentShardsPerNode()
      The maximum number of shards can be executed concurrently on a single node by this query. This is a safeguard to avoid opening and holding many shards (equivalent to many file descriptors) or having too many field infos created by a single query.
    • unavailableShardResolutionAttempts

      public int unavailableShardResolutionAttempts()
      Amount of attempts moved shards could be retried. This setting is protecting query from endlessly chasing moving shards.
    • nodeLevelReduction

      public boolean nodeLevelReduction()
      Returns true if each data node should perform a local reduction for sort, limit, topN, stats or false if the coordinator node will perform the reduction.
    • foldLimit

      public ByteSizeValue foldLimit()
      The maximum amount of memory we can use for Expression.fold(org.elasticsearch.xpack.esql.core.expression.FoldContext) during planing. This defaults to 5% of memory available on the current node. If this method is called on the coordinating node, this is 5% of the coordinating node's memory. If it's called on a data node, it's 5% of the data node. That's an exciting inconsistency. But it's important. Bigger nodes have more space to do folding.
    • fieldExtractPreference

      public MappedFieldType.FieldExtractPreference fieldExtractPreference()
      The default preference for extracting fields, defaults to NONE. Some fields must be extracted in some special way because of how they are used in the plan. But most fields can be loaded in many ways so they pick the ways that they think are most efficient in their MappedFieldType.blockLoader(org.elasticsearch.index.mapper.MappedFieldType.BlockLoaderContext) method. This can influence their choice.
    • isEmpty

      public boolean isEmpty()
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object