[ 
https://issues.apache.org/jira/browse/ARROW-10460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carlo Mazzaferro updated ARROW-10460:
-------------------------------------
    Description: 
Authentication with FlightClient changed from version 1.0.1 to 2.0.0 and is 
undocumented. 

 

{{>>> from pyarrow import ___version___}}

{{>> print(}}_{{_version}}_{{_)}}

{{'1.0.1'}}

{{>>> from handlers import ApiKeyClientAuthHandler  # custom handler}}}}
 {{>>> from pyarrow.flight import FlightClient}}
 {{>>> client = FlightClient(location="grpc+tcp://xxxxxxxxxx.com")}}
 {{>>> client.authenticate(ApiKeyClientAuthHandler(api_key="xxxxx"))}}

{{>>>}}

 

And the exact same code in 2.0.0 breaks

 

{{>>> from pyarrow import ___version___}}

{{>> print(}}_{{_version}}_{{_)}}

{{'2.0.0'}}

{{>>> from handlers import ApiKeyClientAuthHandler  # custom handler}}}}
 {{>>> from pyarrow.flight import FlightClient}}
 {{>>> client = FlightClient(location="grpc+tcp://xxxxxxxxxx.com")}}
 {{>>> client.authenticate(ApiKeyClientAuthHandler(api_key="xxxxx"))}}

{{Traceback (most recent call last):}}
 {{   File "scratch.py", line 15, in <module>}}
 {{     
client.authenticate(ApiKeyClientAuthHandler(api_key="c8669431-8172-4c24-8b17-300330e10f1b"))}}
 {{   File "pyarrow/_flight.pyx", line 1149, in 
pyarrow._flight.FlightClient.authenticate}}
 {{   File "pyarrow/_flight.pyx", line 70, in 
pyarrow._flight.check_flight_status}}
 {{pyarrow._flight.FlightUnavailableError: gRPC returned unavailable error, 
with message: failed to connect to all addresses}}

 

What happened?

 

  was:
Authentication with FlightClient changed from version 1.0.1 to 2.0.0 and is 
undocumented. 

 

{{>>> from pyarrow import ___version___}}

{{>> print(}}_{{_version}}_{{_)}}

{{'1.0.1'}}

{{>>> from handlers import ApiKeyClientAuthHandler  # custom handler}}}}
 {{>>> from pyarrow.flight import FlightClient}}
 {{>>> client = FlightClient(location="grpc+tcp://xxxxxxxxxx.com")}}
 {{>>> client.authenticate(ApiKeyClientAuthHandler(api_key="xxxxx"))}}

{{>>>}}

 

And the exact same code in 2.0.0 breaks

 

{{>>> from pyarrow import __version_}}_{{>>> 
print(}}_{{_version__)}}{{'2.0.0'}}{{>>> from handlers import 
ApiKeyClientAuthHandler  # custom handler}}
 \{{ >>> from pyarrow.flight import FlightClient}}
 \{{ >>> client = FlightClient(location="grpc+tcp://xxxxxxxxxx.com")}}
 \{{ >>> client.authenticate(ApiKeyClientAuthHandler(api_key="xxxxx"))}}

{{Traceback (most recent call last):}}
 {{   File "scratch.py", line 15, in <module>}}
 {{     
client.authenticate(ApiKeyClientAuthHandler(api_key="c8669431-8172-4c24-8b17-300330e10f1b"))}}
 {{   File "pyarrow/_flight.pyx", line 1149, in 
pyarrow._flight.FlightClient.authenticate}}
 {{   File "pyarrow/_flight.pyx", line 70, in 
pyarrow._flight.check_flight_status}}
 {{pyarrow._flight.FlightUnavailableError: gRPC returned unavailable error, 
with message: failed to connect to all addresses}}

 

What happened?

 


> FlightRPC authentication mechanism changed and is undocumented, breaking 
> current working code
> ---------------------------------------------------------------------------------------------
>
>                 Key: ARROW-10460
>                 URL: https://issues.apache.org/jira/browse/ARROW-10460
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: FlightRPC, Python
>    Affects Versions: 2.0.0
>         Environment: MacOS Catalina, python 3.7.4
>            Reporter: Carlo Mazzaferro
>            Priority: Major
>             Fix For: 1.0.1
>
>
> Authentication with FlightClient changed from version 1.0.1 to 2.0.0 and is 
> undocumented. 
>  
> {{>>> from pyarrow import ___version___}}
> {{>> print(}}_{{_version}}_{{_)}}
> {{'1.0.1'}}
> {{>>> from handlers import ApiKeyClientAuthHandler  # custom handler}}}}
>  {{>>> from pyarrow.flight import FlightClient}}
>  {{>>> client = FlightClient(location="grpc+tcp://xxxxxxxxxx.com")}}
>  {{>>> client.authenticate(ApiKeyClientAuthHandler(api_key="xxxxx"))}}
> {{>>>}}
>  
> And the exact same code in 2.0.0 breaks
>  
> {{>>> from pyarrow import ___version___}}
> {{>> print(}}_{{_version}}_{{_)}}
> {{'2.0.0'}}
> {{>>> from handlers import ApiKeyClientAuthHandler  # custom handler}}}}
>  {{>>> from pyarrow.flight import FlightClient}}
>  {{>>> client = FlightClient(location="grpc+tcp://xxxxxxxxxx.com")}}
>  {{>>> client.authenticate(ApiKeyClientAuthHandler(api_key="xxxxx"))}}
> {{Traceback (most recent call last):}}
>  {{   File "scratch.py", line 15, in <module>}}
>  {{     
> client.authenticate(ApiKeyClientAuthHandler(api_key="c8669431-8172-4c24-8b17-300330e10f1b"))}}
>  {{   File "pyarrow/_flight.pyx", line 1149, in 
> pyarrow._flight.FlightClient.authenticate}}
>  {{   File "pyarrow/_flight.pyx", line 70, in 
> pyarrow._flight.check_flight_status}}
>  {{pyarrow._flight.FlightUnavailableError: gRPC returned unavailable error, 
> with message: failed to connect to all addresses}}
>  
> What happened?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to