Release notes
8.15.3-37.0
Improvements
-
Upgraded to Elasticsearch 8.15.3
-
Switched to memory-unsafe instead of memory-netty for the management of off-heap memory.
-
Improved the internal behavior of joins in aggregations for AQP requests.
-
Improved the error message for incompatible data types in a join.
-
Added a new setting,
federate.internal.actions.timeout
, to configure a timeout for internal actions, with a default value of 30 seconds. -
Improved concurrency management on multi-search requests.
-
Added descriptions for every Federate task.
-
Added planner execution times for AQP requests.
New features
-
Added support to multi-conditional index join in AQP requests.
-
Added support for
federate_object
in AQP requests. -
Implemented a stage-based cost optimization strategy in AQP.
-
Added a push-down strategy for joins in aggregations for AQP requests.
-
Added support for point-in-time with inner join in AQP requests.
-
Added support for a join on the
_index
virtual field on the left side. -
Added a new setting
federate.planner.type
to choose betweenadaptive
orstatic
for the default planner to use in search requests.
Bug Fixes
-
Fixed an
Unknown QueryBuilder error
when a GeoPoint query was used inside a join request. -
Fixed an issue with requests using
highlighter
on cached requests. -
Fixed a resource leak that occurred during job initialization.
-
Fixed a race condition in the data staging service.
-
Fixed a NullPointerException when an error occurred and the cause message was null.
-
Fixed a bug caused by using an unsupported operation of
exists
in the aggregation context with projected fields. -
Fixed a concurrent modification exception in a multi-search request.
-
Fixed a bug caused by skipping the pruning step when an error occurred during the request planning phase.
Breaking changes
-
Removed the deprecated connector API.
-
Reverted a breaking change in deprecated endpoint
/_siren/cache
and/_siren/<nodeId>/cache
introduced in 36.1. -
Removed the following deprecated settings:
-
siren.planner.pool.job.size
- usefederate.planner.pool.job.size
instead. -
siren.planner.pool.job.queue_size
- usefederate.planner.pool.job.queue_size
instead. -
siren.planner.pool.tasks_per_job.size
- usefederate.planner.pool.tasks_per_job.size
instead. -
siren.planner.index_join.max_lookups
- usefederate.planner.multi_conditional.index_lookup.limit
instead. -
siren.planner.volcano.cache.enable
- usefederate.planner.optimizer.cache.enable
instead. -
siren.planner.field.metadata.cache.maximum_size
- usefederate.planner.field.metadata.cache.maximum_size
instead. -
siren.planner.volcano.cache.maximum_size
- usefederate.planner.optimizer.cache.maximum_size
instead. -
siren.planner.volcano.cache.refresh_interval
- usefederate.planner.optimizer.cache.refresh_interval
instead. -
siren.planner.volcano.stats.use_query
- removed without replacement.
-