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 between adaptive or static 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 - use federate.planner.pool.job.size instead.

    • siren.planner.pool.job.queue_size - use federate.planner.pool.job.queue_size instead.

    • siren.planner.pool.tasks_per_job.size - use federate.planner.pool.tasks_per_job.size instead.

    • siren.planner.index_join.max_lookups - use federate.planner.multi_conditional.index_lookup.limit instead.

    • siren.planner.volcano.cache.enable - use federate.planner.optimizer.cache.enable instead.

    • siren.planner.field.metadata.cache.maximum_size - use federate.planner.field.metadata.cache.maximum_size instead.

    • siren.planner.volcano.cache.maximum_size - use federate.planner.optimizer.cache.maximum_size instead.

    • siren.planner.volcano.cache.refresh_interval - use federate.planner.optimizer.cache.refresh_interval instead.

    • siren.planner.volcano.stats.use_query - removed without replacement.