Skip to content

ESQL: Allow EXTERNAL commands be run part of the CsvTests suite#143970

Merged
bpintea merged 4 commits intoelastic:mainfrom
bpintea:esql/ds/csv_tests
Mar 11, 2026
Merged

ESQL: Allow EXTERNAL commands be run part of the CsvTests suite#143970
bpintea merged 4 commits intoelastic:mainfrom
bpintea:esql/ds/csv_tests

Conversation

@bpintea
Copy link
Copy Markdown
Contributor

@bpintea bpintea commented Mar 10, 2026

This allows .csv-spec files be run part of the CsvTests suite, also when they contain the EXTERNAL command.
The tests must use EXTERNAL "{{<CSV file>}}" ... format, where <CSV file> is one of the files used by "regular"/other CsvTests or IT tests. The {{...}} pattern is replaced with a "file://path/<CSV file>" and read with the recently added esql-datasource-http and -csv plugins logic.

Part of the change, "esql-datasource-csv" has been updated to support the format of our CSV data files. Most notably, MVs can now be specified as ...,[foo,bar],... besides the ...,"[foo,bar]",... (but also ...,["foo","bar"],...).
Also, the iceberg tests have been moved into the respective plugin -- only CsvTests-"executable" .csv-spec files should now be allowed under esql plugin's QA fixtures collection.

🤖 Developed AI-assisted.

@bpintea bpintea requested review from costin and swallez March 10, 2026 18:50
@bpintea bpintea requested a review from a team as a code owner March 10, 2026 18:50
@bpintea bpintea added >test Issues or PRs that are addressing/adding tests :Analytics/ES|QL AKA ESQL v9.4.0 ES|QL|DS ES|QL datasources labels Mar 10, 2026
@elasticsearchmachine elasticsearchmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Mar 10, 2026
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

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

Copy link
Copy Markdown
Member

@costin costin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bpintea bpintea enabled auto-merge (squash) March 11, 2026 14:15
@bpintea bpintea disabled auto-merge March 11, 2026 17:52
@bpintea bpintea merged commit 6a038bc into elastic:main Mar 11, 2026
20 of 22 checks passed
@bpintea bpintea deleted the esql/ds/csv_tests branch March 11, 2026 17:53
szybia added a commit to szybia/elasticsearch that referenced this pull request Mar 11, 2026
…elocations

* upstream/main: (54 commits)
  [ES|QL|DS] Wire parallel parsing into production for text formats (elastic#143997)
  ESQL: Allow EXTERNAL commands be run part of the CsvTests suite (elastic#143970)
  [ESQL] Push stats to external source via metadata (elastic#143940)
  Mute org.elasticsearch.xpack.esql.CsvIT test {csv-spec:approximation.Approximate stats with stats where} elastic#144051
  Refactored SortedNumericDocValuesSyntheticFieldLoader into a Layer (elastic#143912)
  Enable extended doc_values params feature flag in RandomizedRollingUpgradeIT (elastic#143918)
  Mute org.elasticsearch.xpack.esql.qa.multi_node.EsqlSpecIT test {csv-spec:approximation.Approximate stats with sample} elastic#144022
  Ensure we use float values for rolling upgrade float vectors (elastic#144032)
  Remove sensitive info from reindex task description (elastic#143635)
  Fix HistogramUnionState.equals (elastic#143990)
  Use dedicated IndexRouting API in ShardSplittingQuery (elastic#143776)
  Engine/Store DistributedArchitectureGuide doc (elastic#143818)
  Mute org.elasticsearch.snapshots.ConcurrentSnapshotsIT testDeletesAreBatched elastic#144034
  Avoid serializing exceptions as JSON in remote write endpoint (elastic#143987)
  allow testLoadDocSequenceReturnsCorrectResultsText to circuit break, it happens in serverless occasionally (elastic#144023)
  [ESQL] Adds memory accounting to GroupedLimitOperator (elastic#143941)
  Adjust ESIntegTestCase.getLiveDocs method to account for pruned sequence numbers (elastic#143999)
  Support target bucket count in `TBUCKET` with explicit from/to date range (elastic#142747)
  TSDBDocValuesFormatSingleNodeTests with and without synthetic id (elastic#144002)
  Fix circuit breaker leak in BreakingTDigestHolder (elastic#143873)
  ...
jdconrad pushed a commit to jdconrad/elasticsearch that referenced this pull request Mar 11, 2026
…tic#143970)

This allows `.csv-spec` files be run part of the `CsvTests` suite, also when they contain the `EXTERNAL` command. 
The tests must use `EXTERNAL "{{<CSV file>}}" ...` format, where `<CSV file>` is one of the files used by "regular"/other CsvTests or IT tests. The `{{...}}` pattern is replaced with a `"file://path/<CSV file>"` and read with the recently added esql-datasource-http and -csv plugins logic.

Part of the change, "esql-datasource-csv" has been updated to support the format of our CSV data files. Most notably, MVs can now be specified as `...,[foo,bar],...` besides the `...,"[foo,bar]",...` (but also `...,["foo","bar"],...`).
Also, the iceberg tests have been moved into the respective plugin -- only CsvTests-"executable" .csv-spec files should now be allowed under esql plugin's QA fixtures collection.

🤖 Developed AI-assisted.
jdconrad pushed a commit to jdconrad/elasticsearch that referenced this pull request Mar 11, 2026
…tic#143970)

This allows `.csv-spec` files be run part of the `CsvTests` suite, also when they contain the `EXTERNAL` command. 
The tests must use `EXTERNAL "{{<CSV file>}}" ...` format, where `<CSV file>` is one of the files used by "regular"/other CsvTests or IT tests. The `{{...}}` pattern is replaced with a `"file://path/<CSV file>"` and read with the recently added esql-datasource-http and -csv plugins logic.

Part of the change, "esql-datasource-csv" has been updated to support the format of our CSV data files. Most notably, MVs can now be specified as `...,[foo,bar],...` besides the `...,"[foo,bar]",...` (but also `...,["foo","bar"],...`).
Also, the iceberg tests have been moved into the respective plugin -- only CsvTests-"executable" .csv-spec files should now be allowed under esql plugin's QA fixtures collection.

🤖 Developed AI-assisted.
jdconrad pushed a commit to jdconrad/elasticsearch that referenced this pull request Mar 11, 2026
…tic#143970)

This allows `.csv-spec` files be run part of the `CsvTests` suite, also when they contain the `EXTERNAL` command. 
The tests must use `EXTERNAL "{{<CSV file>}}" ...` format, where `<CSV file>` is one of the files used by "regular"/other CsvTests or IT tests. The `{{...}}` pattern is replaced with a `"file://path/<CSV file>"` and read with the recently added esql-datasource-http and -csv plugins logic.

Part of the change, "esql-datasource-csv" has been updated to support the format of our CSV data files. Most notably, MVs can now be specified as `...,[foo,bar],...` besides the `...,"[foo,bar]",...` (but also `...,["foo","bar"],...`).
Also, the iceberg tests have been moved into the respective plugin -- only CsvTests-"executable" .csv-spec files should now be allowed under esql plugin's QA fixtures collection.

🤖 Developed AI-assisted.
jdconrad pushed a commit to jdconrad/elasticsearch that referenced this pull request Mar 11, 2026
…tic#143970)

This allows `.csv-spec` files be run part of the `CsvTests` suite, also when they contain the `EXTERNAL` command. 
The tests must use `EXTERNAL "{{<CSV file>}}" ...` format, where `<CSV file>` is one of the files used by "regular"/other CsvTests or IT tests. The `{{...}}` pattern is replaced with a `"file://path/<CSV file>"` and read with the recently added esql-datasource-http and -csv plugins logic.

Part of the change, "esql-datasource-csv" has been updated to support the format of our CSV data files. Most notably, MVs can now be specified as `...,[foo,bar],...` besides the `...,"[foo,bar]",...` (but also `...,["foo","bar"],...`).
Also, the iceberg tests have been moved into the respective plugin -- only CsvTests-"executable" .csv-spec files should now be allowed under esql plugin's QA fixtures collection.

🤖 Developed AI-assisted.
jdconrad pushed a commit to jdconrad/elasticsearch that referenced this pull request Mar 11, 2026
…tic#143970)

This allows `.csv-spec` files be run part of the `CsvTests` suite, also when they contain the `EXTERNAL` command. 
The tests must use `EXTERNAL "{{<CSV file>}}" ...` format, where `<CSV file>` is one of the files used by "regular"/other CsvTests or IT tests. The `{{...}}` pattern is replaced with a `"file://path/<CSV file>"` and read with the recently added esql-datasource-http and -csv plugins logic.

Part of the change, "esql-datasource-csv" has been updated to support the format of our CSV data files. Most notably, MVs can now be specified as `...,[foo,bar],...` besides the `...,"[foo,bar]",...` (but also `...,["foo","bar"],...`).
Also, the iceberg tests have been moved into the respective plugin -- only CsvTests-"executable" .csv-spec files should now be allowed under esql plugin's QA fixtures collection.

🤖 Developed AI-assisted.
michalborek pushed a commit to michalborek/elasticsearch that referenced this pull request Mar 23, 2026
…tic#143970)

This allows `.csv-spec` files be run part of the `CsvTests` suite, also when they contain the `EXTERNAL` command. 
The tests must use `EXTERNAL "{{<CSV file>}}" ...` format, where `<CSV file>` is one of the files used by "regular"/other CsvTests or IT tests. The `{{...}}` pattern is replaced with a `"file://path/<CSV file>"` and read with the recently added esql-datasource-http and -csv plugins logic.

Part of the change, "esql-datasource-csv" has been updated to support the format of our CSV data files. Most notably, MVs can now be specified as `...,[foo,bar],...` besides the `...,"[foo,bar]",...` (but also `...,["foo","bar"],...`).
Also, the iceberg tests have been moved into the respective plugin -- only CsvTests-"executable" .csv-spec files should now be allowed under esql plugin's QA fixtures collection.

🤖 Developed AI-assisted.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants