Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flight SQL Server sends incorrect response for DoPutUpdateResult #2403

Closed
avantgardnerio opened this issue Aug 10, 2022 · 1 comment · Fixed by #2404
Closed

Flight SQL Server sends incorrect response for DoPutUpdateResult #2403

avantgardnerio opened this issue Aug 10, 2022 · 1 comment · Fixed by #2404
Labels
arrow-flight Changes to the arrow-flight crate bug

Comments

@avantgardnerio
Copy link
Contributor

Describe the bug

The Flight SQL Server incorrectly does a as_any() and sends a protobuf enum instead of the message itself. This is incompatible with the JDBC implementation. (As usual, the spec itself is unclear). It results in the record_count being 0 instead of -1 which means a proper client implementation will poll forever.

To Reproduce

This one is a doozy to reproduce:

  1. Run this fork of ballista
  2. Build this fork of the JDBC driver
  3. Install the fat jar driver into your favorite SQL tool
  4. Run an update query, observe the tool hang as it follows the spec attempting to wait for the condition to be met:
There are no more results when the following is true:

     // stmt is a Statement object
     ((stmt.getMoreResults(current) == false) && (stmt.getUpdateCount() == -1))

Expected behavior

The query succeeds.

@avantgardnerio
Copy link
Contributor Author

Tagging @tustvold and @andygrove , thank you both for your help!

@alamb alamb added the arrow-flight Changes to the arrow-flight crate label Aug 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arrow-flight Changes to the arrow-flight crate bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants