Skip to content

Add RFC-0018 for Java connector federation in C++ workers#46

Merged
aditi-pandit merged 3 commits into
prestodb:mainfrom
tdcmeehan:conn
Oct 22, 2025
Merged

Add RFC-0018 for Java connector federation in C++ workers#46
aditi-pandit merged 3 commits into
prestodb:mainfrom
tdcmeehan:conn

Conversation

@tdcmeehan

Copy link
Copy Markdown
Contributor

No description provided.

@prestodb-ci prestodb-ci added the from:IBM PRs from IBM label Aug 29, 2025
@prestodb-ci prestodb-ci requested review from a team, ShahimSharafudeen and nishithakbhaskaran and removed request for a team August 29, 2025 20:36
@tdcmeehan tdcmeehan force-pushed the conn branch 9 times, most recently from eced569 to 826a238 Compare September 4, 2025 16:11

@BryanCutler BryanCutler left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, thanks @tdcmeehan. I mostly just had some questions about auth with the flight server

Comment thread RFC-0013-java-connector-federaton.md Outdated
Comment thread RFC-0013-java-connector-federaton.md Outdated
Comment thread RFC-0013-java-connector-federaton.md Outdated
Comment thread RFC-0013-java-connector-federaton.md Outdated
Comment thread RFC-0013-java-connector-federaton.md Outdated
@tdcmeehan tdcmeehan force-pushed the conn branch 3 times, most recently from bdfb6b2 to 79aed22 Compare September 9, 2025 15:12

@aditi-pandit aditi-pandit left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

RFC looks good overall. Have only a minor comment.

Comment thread RFC-0013-java-connector-federaton.md Outdated
@tdcmeehan tdcmeehan force-pushed the conn branch 2 times, most recently from a4ddced to 7196f6d Compare September 16, 2025 19:40

@pdabre12 pdabre12 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @tdcmeehan , LTGM.

Should we add some documentation on how to load up the new ArrowFederationConnector?

@BryanCutler BryanCutler left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, just a minor clarification to the split scheduling section

Comment thread RFC-0013-java-connector-federaton.md Outdated

#### Split Scheduling Phase
1. Coordinator's single-node connector (e.g., JDBC, MongoDB) creates its connector-specific split
2. Split is scheduled to C++ worker as `ArrowFederationSplit` containing serialized split bytes

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just to clarify, the coordinator will send a connector-specific split to the C++ worker, but it will be handled by the ArrowFederation protocol where it will be read as bytes only.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks, made that a bit more clear.

@czentgr

czentgr commented Sep 18, 2025

Copy link
Copy Markdown

FYI RFC-0013 exists already. Next one would be RFC-0016.

@aditi-pandit aditi-pandit merged commit 05783f4 into prestodb:main Oct 22, 2025
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Feb 12, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Feb 13, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Feb 13, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Feb 14, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Feb 16, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Feb 16, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Mar 13, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Mar 13, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Mar 13, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Mar 24, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Mar 24, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Mar 24, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Mar 26, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Mar 26, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
pdabre12 added a commit to pdabre12/presto that referenced this pull request Mar 31, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Mar 31, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Apr 17, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Apr 17, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
pdabre12 added a commit to pdabre12/presto that referenced this pull request Apr 23, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request Apr 24, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request May 4, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request May 5, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
pdabre12 added a commit to pdabre12/presto that referenced this pull request May 5, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request May 6, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to BryanCutler/presto that referenced this pull request May 14, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
pdabre12 added a commit to pdabre12/presto that referenced this pull request May 15, 2026
Arrow Flight server that can load Presto Java connectors, and provide a
record batch stream from the given connector split.

The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
BryanCutler added a commit to prestodb/presto that referenced this pull request May 26, 2026
…workers (#26369)

## Description
This adds a FlightShim module for connector federation. This includes an
Apache Arrow Flight server that can load Presto Java connectors, and
provide a record batch stream from the given connector split.
    
The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
#26404

RFC: prestodb/rfcs#46

## Motivation and Context
<!---Why is this change required? What problem does it solve?-->
<!---If it fixes an open issue, please link to the issue here.-->

This provides a path to connector federation with native workers

## Impact
<!---Describe any public API or user-facing feature change or any
performance impact-->
No API changes required.

## Test Plan
<!---Please fill in how you tested your change-->
Included unit tests for the FlightShim server functionality. The
followup native connector #26404
includes e2e testing between the coordinator - native FlightShim
connector - FlightShim server - multiple data sources. We have also
tested internally in a full platform environment.

## Contributor checklist

- [x] Please make sure your submission complies with our [contributing
guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md),
in particular [code
style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style)
and [commit
standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards).
- [x] PR description addresses the issue accurately and concisely. If
the change is non-trivial, a GitHub Issue is referenced.
- [x] Documented new properties (with its default value), SQL syntax,
functions, or other functionality.
- [x] If release notes are required, they follow the [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines).
- [x] Adequate tests were added if applicable.
- [x] CI passed.
- [x] If adding new dependencies, verified they have an [OpenSSF
Scorecard](https://securityscorecards.dev/#the-checks) score of 5.0 or
higher (or obtained explicit TSC approval for lower scores).

## Release Notes
Please follow [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines)
and fill in the release notes below.

```
== RELEASE NOTES ==

General Changes
* Adding presto-flight-shim server module for connector federation.
```

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
msmygit pushed a commit to msmygit/presto that referenced this pull request Jun 3, 2026
…workers (prestodb#26369)

## Description
This adds a FlightShim module for connector federation. This includes an
Apache Arrow Flight server that can load Presto Java connectors, and
provide a record batch stream from the given connector split.
    
The FlightShim server is designed to work with a native arrow connector,
that will use a Flight client to forward the connector split to the
server and process the record batch stream. See related PR at
prestodb#26404

RFC: prestodb/rfcs#46

## Motivation and Context
<!---Why is this change required? What problem does it solve?-->
<!---If it fixes an open issue, please link to the issue here.-->

This provides a path to connector federation with native workers

## Impact
<!---Describe any public API or user-facing feature change or any
performance impact-->
No API changes required.

## Test Plan
<!---Please fill in how you tested your change-->
Included unit tests for the FlightShim server functionality. The
followup native connector prestodb#26404
includes e2e testing between the coordinator - native FlightShim
connector - FlightShim server - multiple data sources. We have also
tested internally in a full platform environment.

## Contributor checklist

- [x] Please make sure your submission complies with our [contributing
guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md),
in particular [code
style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style)
and [commit
standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards).
- [x] PR description addresses the issue accurately and concisely. If
the change is non-trivial, a GitHub Issue is referenced.
- [x] Documented new properties (with its default value), SQL syntax,
functions, or other functionality.
- [x] If release notes are required, they follow the [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines).
- [x] Adequate tests were added if applicable.
- [x] CI passed.
- [x] If adding new dependencies, verified they have an [OpenSSF
Scorecard](https://securityscorecards.dev/#the-checks) score of 5.0 or
higher (or obtained explicit TSC approval for lower scores).

## Release Notes
Please follow [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines)
and fill in the release notes below.

```
== RELEASE NOTES ==

General Changes
* Adding presto-flight-shim server module for connector federation.
```

Co-authored-by: Pratik Joseph Dabre <pdabre12@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

from:IBM PRs from IBM

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants