Skip to content

CsvAssert: accept KEYWORD vs TEXT metadata in mixed-cluster csv-spec#145474

Open
wchaparro wants to merge 2 commits intoelastic:mainfrom
wchaparro:fix/gh-145352-csv-assert-keyword-text-bwc
Open

CsvAssert: accept KEYWORD vs TEXT metadata in mixed-cluster csv-spec#145474
wchaparro wants to merge 2 commits intoelastic:mainfrom
wchaparro:fix/gh-145352-csv-assert-keyword-text-bwc

Conversation

@wchaparro
Copy link
Copy Markdown
Member

Summary

Mixed-cluster MixedClusterEsqlSpecIT failures for external-basic.scoreFunction and external-basic.topSnippetsFunction compared column types as KEYWORD != TEXT at response metadata while block-level assertions already treat KEYWORD blocks as compatible with TEXT expectations.

Change

In CsvAssert.assertMetadata, treat KEYWORDTEXT as compatible for column type metadata (same string-family relaxation as the inner block check).

Confidence

~85% — narrow test-harness alignment with existing block rules; does not change product ES|QL typing.

Tests

  • ./gradlew :x-pack:plugin:esql:test --tests "org.elasticsearch.xpack.esql.CsvTests" -Dtests.method="test {csv-spec:external-basic.scoreFunction}" -Dtests.method="test {csv-spec:external-basic.topSnippetsFunction}" -Dtests.seed=DEADBEEF

Fixes #145352
Fixes #145353

Made with Cursor

Mixed-cluster BWC runs can report TEXT for EXTERNAL string columns while
csv-spec expects KEYWORD (e.g. external-basic scoreFunction / topSnippetsFunction).
Block-level checks already treat KEYWORD bytes as compatible with TEXT; align
metadata assertion the same way.

Fixes elastic#145352
Fixes elastic#145353

Made-with: Cursor
@elasticsearchmachine elasticsearchmachine added needs:triage Requires assignment of a team area label v9.4.0 labels Apr 1, 2026
@wchaparro wchaparro added :Analytics/ES|QL AKA ESQL >test Issues or PRs that are addressing/adding tests and removed needs:triage Requires assignment of a team area label labels Apr 1, 2026
@elasticsearchmachine elasticsearchmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Apr 1, 2026
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-analytical-engine (Team:Analytics)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/ES|QL AKA ESQL Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) >test Issues or PRs that are addressing/adding tests v9.5.0

Projects

None yet

3 participants