ARROW-5877: [FlightRPC] Fix Python<->Java auth issues#4838
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! 👍 |
|
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 <[email protected]> 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 <[email protected]> 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