Skip to content

GH-38024: [Java][FlightRPC] Expose appMetadata through JDBC ResultSet#38781

Merged
lidavidm merged 4 commits into
apache:mainfrom
aiguofer:expose_app_metadata_jdbc
Nov 29, 2023
Merged

GH-38024: [Java][FlightRPC] Expose appMetadata through JDBC ResultSet#38781
lidavidm merged 4 commits into
apache:mainfrom
aiguofer:expose_app_metadata_jdbc

Conversation

@aiguofer
Copy link
Copy Markdown
Contributor

@aiguofer aiguofer commented Nov 19, 2023

FlightInfo can now contain appMetadata. This PR exposes that metadata through the JDBC interface through ArrowFlightJdbcFlightStreamResultSet.getAppMetadata.

@aiguofer aiguofer requested a review from lidavidm as a code owner November 19, 2023 03:44
@github-actions
Copy link
Copy Markdown

⚠️ GitHub issue #38024 has been automatically assigned in GitHub to PR creator.

@lidavidm
Copy link
Copy Markdown
Member

CC @jduo

One question: we distribute shaded driver JARs, so people will have to reference a shaded name. It may be better to define a non-shaded interface that people can cast to?

@jduo
Copy link
Copy Markdown
Member

jduo commented Nov 20, 2023

CC @jduo

One question: we distribute shaded driver JARs, so people will have to reference a shaded name. It may be better to define a non-shaded interface that people can cast to?

I agree. Also, it would be good to have a non-shaded build target to reduce the binary size for users that aren't concerned about dependency collisions (for example, embedding the driver into a stack that they have full control of the dependencies).

@lidavidm
Copy link
Copy Markdown
Member

it would be good to have a non-shaded build target to reduce the binary size for users that aren't concerned about dependency collisions

flight-sql-jdbc-core should do that and is distributed: https://central.sonatype.com/artifact/org.apache.arrow/flight-sql-jdbc-core/overview

@aiguofer
Copy link
Copy Markdown
Contributor Author

Interesting. I seem to be able to cast it just fine when using the shaded jar. That being said, I agree having some sort of ArrowFlightSqlResultSet or some more relatable name would be better.

@lidavidm
Copy link
Copy Markdown
Member

Ah, yes, the shaded JAR should work fine - but you have to 'peek' into the shaded JAR and use the shaded name, right? It would be best to provide a 'normal' name for people to reference instead of some odd shaded thing

@lidavidm
Copy link
Copy Markdown
Member

That said if you want to defer that we can just focus on this change here

@github-actions github-actions Bot added awaiting merge Awaiting merge and removed awaiting review Awaiting review labels Nov 29, 2023
@lidavidm lidavidm merged commit b6a9f6b into apache:main Nov 29, 2023
@lidavidm lidavidm removed the awaiting merge Awaiting merge label Nov 29, 2023
@lidavidm
Copy link
Copy Markdown
Member

Alright, we can add the interface if someone complains about having to use the mangled name.

@aiguofer
Copy link
Copy Markdown
Contributor Author

@lidavidm hey! sorry just got back from a long vacation last night. I think this is fine for now.

I was thinking at some point we might want to expose a way to get the Arrow batches directly as well, and at that point we can reconsider the interface/class name.

@lidavidm
Copy link
Copy Markdown
Member

Ah, sounds good.

And yes, some way to convert a ResultSet to an Arrow or ADBC interface would be a perfect way to slowly introduce Arrow to a JDBC-based application.

@conbench-apache-arrow
Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit b6a9f6b.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 4 possible false positives for unstable benchmarks that are known to sometimes produce them.

dgreiss pushed a commit to dgreiss/arrow that referenced this pull request Feb 19, 2024
…ultSet (apache#38781)

FlightInfo can now contain appMetadata. This PR exposes that metadata through the JDBC interface through `ArrowFlightJdbcFlightStreamResultSet.getAppMetadata`.
* Closes: apache#38024

Authored-by: Diego Fernandez <aiguo.fernandez@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
pribor pushed a commit to GlobalWebIndex/arrow that referenced this pull request Oct 24, 2025
…ultSet (apache#38781)

FlightInfo can now contain appMetadata. This PR exposes that metadata through the JDBC interface through `ArrowFlightJdbcFlightStreamResultSet.getAppMetadata`.
* Closes: apache#38024

Authored-by: Diego Fernandez <aiguo.fernandez@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Java][flight-sql-jdbc] Expose app_metadata for FlightInfo through JDBC interfaces

3 participants