What’s new in 9.0

edit

Coming in 9.0.

Here are the highlights of what’s new and improved in Elasticsearch 9.0!

ESQL: INLINESTATS

edit

This adds the INLINESTATS command to ESQL which performs a STATS and then enriches the results into the output stream. So, this query:

FROM test
| INLINESTATS m=MAX(a * b) BY b
| WHERE m == a * b
| SORT a DESC, b DESC
| LIMIT 3

Produces output like:

| a | b | m | | --- | --- | ----- | | 99 | 999 | 98901 | | 99 | 998 | 98802 | | 99 | 997 | 98703 |

#109583

Always allow rebalancing by default

edit

In earlier versions of Elasticsearch the cluster.routing.allocation.allow_rebalance setting defaults to indices_all_active which blocks all rebalancing moves while the cluster is in yellow or red health. This was appropriate for the legacy allocator which might do too many rebalancing moves otherwise. Today’s allocator has better support for rebalancing a cluster that is not in green health, and expects to be able to rebalance some shards away from over-full nodes to avoid allocating shards to undesirable locations in the first place. From version 8.16 allow_rebalance setting defaults to always unless the legacy allocator is explicitly enabled.

#111015

Add global retention in data stream lifecycle

edit

Data stream lifecycle now supports configuring retention on a cluster level, namely global retention. Global retention allows us to configure two different retentions:

  • data_streams.lifecycle.retention.default is applied to all data streams managed by the data stream lifecycle that do not have retention defined on the data stream level.
  • data_streams.lifecycle.retention.max is applied to all data streams managed by the data stream lifecycle and it allows any data stream data to be deleted after the max_retention has passed.

#111972