Skip to content

ESQL: Make local planners/mapper aware of minimum transport version so we can make version-aware changes to aggs #138805

@alex-spies

Description

@alex-spies

The minimum transport version of all clusters involved in the execution of a query is available to the coordinator's analyzer, optimizers and mapper. However, it is not available to the data node at all.

Let's send the minimum transport version to the data node and make it available to the optimizer contexts and the local mapper.

This is important for changes to aggregations that affect what data we send to the coordinator: All data nodes need to agree on the columns sent. If we change which data the nodes send and the coordinator receives, this still has to work during CCS or rolling upgrades where some clusters/nodes may be too old to know about the new format.

Similarly to our existing optimizer tests, the fact that the local optimizers and planning will become version-aware needs a small update to our tests as well: we should generally assume a random version unless the test is specifically for a new way of optimizing/planning something, in which case we should assume a random version not lower than the new transport version required for this planning change.

Metadata

Metadata

Assignees

No one assigned
    No fields configured for Enhancement.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions