Release notes
8.12.2-34.1
Improvements
-
Upgraded to Elasticsearch 8.12.2
-
Improved the circuit-breaker mechanism for multi-conditional index joins. The circuit-breaker now triggers a failure when the limit of index lookup operations is exceeded at run-time, rather than relying on estimations done at the query planning phase.
-
Enhanced the failure message of the circuit-breaker mechanism for multi-conditional index joins, incorporating details on the reached limit and the count of remaining lookup operations.
-
Introduced an option to deactivate the circuit-breaker mechanism for multi-conditional index joins. This can be achieved by setting -1 in the
federate.planner.index_join.max_lookups
configuration setting.
8.12.1-34.0
Features
-
Introduced an
allow_missing_bound
parameter in thelt
,lte
,gt
, andgte
operators to accept a missing or null value in a field used in the join.
Improvements
-
Upgraded to Elasticsearch 8.12.1
-
Added the truncation trace in search requests executed with the adaptive query planner.
-
Improved the performance of the
within
operator by doing a merge overlap optimization. -
Implemented a pre-filtering technique in spatial joins to reduce unnecessary index lookup operations.
-
Enhanced the data type compatibility check for fields used in a join.
-
Introduced a new resource management layer in the adaptive query planner.
-
Improved the performance of the index fingerprint computation.
-
Removed the community license. An empty license is returned if no license is registered.
-
Added the planner time, execution time, and waiting time in the JSON response.
-
Improved the examples using aggregation in the user documentation.
-
Upgraded to Guava 32.1.3.
-
Upgraded to Java 21.
Bug fixes
-
Fixed a
class cast exception
from occurring when projecting fields in a multi-conditional index join. -
Fixed an issue that created a stage node for a cached join in the adaptive query planner.
-
Fixed a parsing error message when using an object instead of an array for the
indices
join query clause. -
Fixed an issue with the creation of
function_score
queries when theboost_mode
parameter isn’t passed explicitly. -
Fixed an incomplete response when doing an aggregation and no index could match the request due to a date range filter.
-
Fixed an issue on cache key definition when runtime fields were defined at query time.
-
Fixed an issue on a cached join when its parent was shared by two other parents.
-
Fixed an issue when computing the index scan cost, where the field existed but without terms in a segment.
-
Fixed a concurrency issue in multi-conditional index joins.
-
Fixed a concurrency issue in Point-In-Time query shard cache.
-
Fixed a concurrency issue in AQP reports.
Deprecation
-
Normalized Federate settings. The following planner settings have been marked as deprecated, a new setting is proposed;
-
siren.planner.pool.job.size
has been deprecated, usefederate.planner.pool.job.size
instead. -
siren.planner.pool.job.queue_size
has been deprecated, usefederate.planner.pool.job.queue_size
instead. -
siren.planner.pool.tasks_per_job.size
has been deprecated, usefederate.planner.pool.tasks_per_job.size
instead. -
siren.planner.index_join.max_lookups
has been deprecated, usefederate.planner.index_join.max_lookups
instead. -
siren.planner.volcano.cache.enable
has been deprecated, usefederate.planner.optimizer.cache.enable
instead. -
siren.planner.field.metadata.cache.maximum_size
has been deprecated, usefederate.planner.field.metadata.cache.maximum_size
instead. -
siren.planner.volcano.cache.maximum_size
has been deprecated, usefederate.planner.optimizer.cache.maximum_size
instead. -
siren.planner.volcano.cache.refresh_interval
has been deprecated, usefederate.planner.optimizer.cache.refresh_interval
instead.
-