Skip to content

ESQL: Incorrect ExchangeExecs in node reduce plan #141654

@GalLalouche

Description

@GalLalouche

This is a follow-up to an issue discovered in #141082. It seems that the ExchangeExec in ComputeService.reductionPlan is created using the old output attributes rather than the new one, and because the Exchange wrapping happens after the local optimization, we don't have a consistency check that verifies this isn't happening.

This is technically fine, since in reality the exchanges just pipe whatever pages they get, ignoring their declared output, but it is messy and should be fixed. In addition, we should add a consistency check (that only runs during tests) to ensure this doesn't happen again.

Possible lead:

ExchangeSinkExec updatedDataPlan = originalPlan.replaceChild(updatedFragmentExec);

though there may be other places.

Metadata

Metadata

Assignees

No one assigned

    Labels

    :Analytics/ES|QLAKA ESQL>bugTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)low-riskAn open issue or test failure that is a low risk to future releases

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions