Siren Platform User Guide

Planner

The planner module is responsible in parsing a (multi) search request and generating a logical model. This logical model is then optimised by leveraging the rule-based Hep engine and statistical Volcano engine from Apache Calcite. The outcome is a physical query plan, which is then executed. The physical query plan is a Directed Acyclic Graph workflow composed of individual computing steps. The workflow is executed as a Job and the individual computing steps are executed as Tasks. We can therefore map one (multi) search request to a single job.

siren.planner.pool.job.size
Control the maximum number of concurrent jobs being executed per node. Defaults to 1.
siren.planner.pool.job.queue_size
Control the size of the queue for pending jobs per node. Defaults to 100.
siren.planner.pool.tasks_per_job.size
Control the maximum number of concurrent tasks being executed per job. Defaults to 3.
siren.planner.volcano.enable
Enable or disable the Volcano statistical engine to select the most appropriate join algorithms. Defaults to true.
siren.planner.volcano.join
Defines which distributed join algorithm to be selected when optimizing a request. Valid values are either HASH_JOIN or MERGE_JOIN, case-insensitive. Defaults to HASH_JOIN.
siren.planner.volcano.use_query
Use contextual queries when computing statistics. If false, computed statistics are effectively "global" to the index. Defaults to false.
siren.planner.volcano.cache.enable
Enable or disable a caching layer over Elasticsearch requests sent during query optimizations in order to gather statistics. Defaults to true.
siren.planner.volcano.cache.refresh_interval
The minimum interval time for refreshing the cached response of a statistics-gathering request. The time unit is in minutes and defaults to 60 minutes.
siren.planner.volcano.cache.maximum_size
The maximum number of requests response that can be cached. Defaults to 1000000.