Skip to content

ESQL: Bridge Connector SPI to ExternalSplit#143331

Merged
costin merged 6 commits intoelastic:mainfrom
costin:ws-a/connector-split-bridge
Mar 1, 2026
Merged

ESQL: Bridge Connector SPI to ExternalSplit#143331
costin merged 6 commits intoelastic:mainfrom
costin:ws-a/connector-split-bridge

Conversation

@costin
Copy link
Copy Markdown
Member

@costin costin commented Feb 28, 2026

The Connector SPI used a local Split interface while the distribution
infrastructure used ExternalSplit (NamedWriteable). This adds an
execute(QueryRequest, ExternalSplit) overload to Connector that
delegates to the legacy Split path by default, letting connectors
opt-in to distributed split execution without breaking existing ones.

Developed using AI-assisted tooling

Relates #143327

The Connector SPI used a local Split interface while the distribution
infrastructure used ExternalSplit (NamedWriteable). This adds an
execute(QueryRequest, ExternalSplit) overload to Connector that
delegates to the legacy Split path by default, letting connectors
opt-in to distributed split execution without breaking existing ones.

- Connector: added default execute(QueryRequest, ExternalSplit)
- AsyncConnectorSourceOperatorFactory: routes ExternalSplits from
  the slice queue to the new overload
- FlightConnector: overrides the new method to use FlightSplit tickets
- FlightSplit: NamedWriteable ExternalSplit for Flight endpoints
  with ticket size guard (16 KB max)
- FlightSplitProvider: discovers splits via Flight getInfo()
- FlightConnectorFactory: wires FlightSplitProvider
- GrpcDataSourcePlugin: registers FlightSplit in NamedWriteableRegistry

Relates elastic#143327

Developed using AI-assisted tooling
@costin costin added >enhancement ES|QL|DS ES|QL datasources labels Feb 28, 2026
@costin costin requested a review from bpintea February 28, 2026 09:18
@elasticsearchmachine elasticsearchmachine added v9.4.0 needs:triage Requires assignment of a team area label labels Feb 28, 2026
@costin costin added :Analytics/ES|QL AKA ESQL and removed needs:triage Requires assignment of a team area label labels Feb 28, 2026
@elasticsearchmachine elasticsearchmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Feb 28, 2026
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

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

@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Hi @costin, I've created a changelog YAML for you.

@costin costin enabled auto-merge (squash) February 28, 2026 20:42
costin and others added 2 commits March 1, 2026 10:07
Replace server.close() with server.shutdown() + awaitTermination()
to ensure the gRPC Netty event loop completes before the test
framework's static state check runs. The previous close() could
leave Netty's NettyServerHandler with in-flight operations that
triggered spurious "An exception was thrown" warnings.

Developed using AI-assisted tooling

This comment was marked as off-topic.

@bpintea bpintea disabled auto-merge March 1, 2026 18:12
Copy link
Copy Markdown
Contributor

@bpintea bpintea left a comment

Choose a reason for hiding this comment

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

LGTM, but does DataSourceModule.LazyConnectorFactory need to "export" the new FlightSplitProvider? Here or a next PR?

@costin costin merged commit 0dd7c1c into elastic:main Mar 1, 2026
39 checks passed
@costin costin deleted the ws-a/connector-split-bridge branch March 1, 2026 18:34
tballison pushed a commit to tballison/elasticsearch that referenced this pull request Mar 3, 2026
The Connector SPI used a local `Split` interface while the distribution
infrastructure used `ExternalSplit` (`NamedWriteable`). This adds an
`execute(QueryRequest, ExternalSplit)` overload to `Connector` that
delegates to the legacy `Split` path by default, letting connectors
opt-in to distributed split execution without breaking existing ones.

Developed using AI-assisted tooling

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

Labels

:Analytics/ES|QL AKA ESQL >enhancement ES|QL|DS ES|QL datasources Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants