Skip to content

ESQL: Make query planning/optimization aware of the version of nodes/clusters #131108

@alex-spies

Description

@alex-spies

Currently, ES|QL's query planner/optimizer can plan a query in exactly 1 way, and the resulting query plan has to work when sent to all data nodes involved in the query, that is, all other nodes in the cluster and all nodes from remote clusters (in case of CCS).

This is limiting when we'd like to plan or optimize a query plan in a specific way that will be incompatible with older nodes.

We've run into this problem a bunch of times already:

Going forward, I expect the number of problems to increase, esp. when we introduce qualifiers - optimizations that do anything with qualifiers will just straight out not work at all with 8.19 nodes.

Let's solve this by making the planner/optimizer aware of the minimum version of the nodes involved in the query - both local and remote, to cover rolling upgrade and CCS scenarios.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions