-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-5877: [FlightRPC] Fix Python<->Java auth issues #4838
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
Conversation
Codecov Report
@@ Coverage Diff @@
## master #4838 +/- ##
==========================================
+ Coverage 82.62% 89.08% +6.45%
==========================================
Files 335 720 +385
Lines 43377 100165 +56788
Branches 1418 0 -1418
==========================================
+ Hits 35841 89230 +53389
- Misses 7174 10935 +3761
+ Partials 362 0 -362Continue to review full report at Codecov.
|
|
fwiw looks good to me! 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1. What's the path to having simulated auth on the integration test side?
|
My plan is to refactor the integration script, or create a new one, to run tests that aren't based around Arrow datasets, and then add cases to test auth, error propagation, cancellation, and other features thoroughly. As part of that, or as a prerequisite, I may implement a common HTTP basic auth method for C++/Python. I will track the work in ARROW-5875. |
|
Shout if you want a hand with that @lihalite, I had planned on exposing the BasicAuth protobuf that Java already uses into c++/python but if you had a more complete solution in mind I would be happy to help. |
|
Ah if you already were planning on that, please go ahead! I filed a JIRA for that specifically, ARROW-5876. Not sure when I can get to the testing - I want to have it well before 1.0 but I'm currently busy with internal projects. |
- Java servers before didn't actually wait for the Handshake RPC to complete - Java servers didn't interrupt auth handlers if the client sent an error - Python/C++ clients didn't explicitly finish their end of the connection Together, this led to the 'hanging forever' issue @rymurr saw. I've left some TODOs as I would like to raise Flight-specific exceptions (which I'm working on in parallel). Travis: https://travis-ci.com/lihalite/arrow/builds/118503572 AppVeyor: https://ci.appveyor.com/project/lihalite/arrow/builds/25858510 Author: David Li <li.davidm96@gmail.com> Closes #4838 from lihalite/arrow-5877 and squashes the following commits: fc35d19 <David Li> Wait for authentication to complete server-side
- Java servers before didn't actually wait for the Handshake RPC to complete - Java servers didn't interrupt auth handlers if the client sent an error - Python/C++ clients didn't explicitly finish their end of the connection Together, this led to the 'hanging forever' issue @rymurr saw. I've left some TODOs as I would like to raise Flight-specific exceptions (which I'm working on in parallel). Travis: https://travis-ci.com/lihalite/arrow/builds/118503572 AppVeyor: https://ci.appveyor.com/project/lihalite/arrow/builds/25858510 Author: David Li <li.davidm96@gmail.com> Closes apache#4838 from lihalite/arrow-5877 and squashes the following commits: fc35d19 <David Li> Wait for authentication to complete server-side
Together, this led to the 'hanging forever' issue @rymurr saw.
I've left some TODOs as I would like to raise Flight-specific exceptions (which I'm working on in parallel).
Travis: https://travis-ci.com/lihalite/arrow/builds/118503572
AppVeyor: https://ci.appveyor.com/project/lihalite/arrow/builds/25858510