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_lookupsconfiguration setting.
8.12.1-34.0
Features
-
Introduced an
allow_missing_boundparameter in thelt,lte,gt, andgteoperators 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
withinoperator 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 exceptionfrom 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
indicesjoin query clause. -
Fixed an issue with the creation of
function_scorequeries when theboost_modeparameter 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.sizehas been deprecated, usefederate.planner.pool.job.sizeinstead. -
siren.planner.pool.job.queue_sizehas been deprecated, usefederate.planner.pool.job.queue_sizeinstead. -
siren.planner.pool.tasks_per_job.sizehas been deprecated, usefederate.planner.pool.tasks_per_job.sizeinstead. -
siren.planner.index_join.max_lookupshas been deprecated, usefederate.planner.index_join.max_lookupsinstead. -
siren.planner.volcano.cache.enablehas been deprecated, usefederate.planner.optimizer.cache.enableinstead. -
siren.planner.field.metadata.cache.maximum_sizehas been deprecated, usefederate.planner.field.metadata.cache.maximum_sizeinstead. -
siren.planner.volcano.cache.maximum_sizehas been deprecated, usefederate.planner.optimizer.cache.maximum_sizeinstead. -
siren.planner.volcano.cache.refresh_intervalhas been deprecated, usefederate.planner.optimizer.cache.refresh_intervalinstead.
-