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

Antoine Pitrou reassigned ARROW-8304:
-------------------------------------

    Assignee: Antoine Pitrou  (was: Ravindra Wagh)

> [Flight][Python] Flight client with TLS root certificate is reporting error 
> on do_get()
> ---------------------------------------------------------------------------------------
>
>                 Key: ARROW-8304
>                 URL: https://issues.apache.org/jira/browse/ARROW-8304
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: FlightRPC, Python
>    Affects Versions: 0.16.0
>            Reporter: Ravindra Wagh
>            Assignee: Antoine Pitrou
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.17.0
>
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> I have started a flight's local python server with TLS support using the 
> testing certificates present in repo:
> {code:java}
> python3 <arrow_dir>/python/examples/flight/server.py  --host localhost --tls 
> <arrow_dir>/testing/data/flight/cert0.pem 
> <arrow_dir>/testing/data/flight/cert0.key{code}
> This server is started successfully.
> Now I started testing the python client with TLS support.
> 1. Client pushing a csv file to the flightendpoint server: 
> {code:java}
> python3 <arrow_dir>/python/examples/flight/client.py put --tls --tls-roots 
> <arrow_dir>/testing/data/flight/root-ca.pem localhost:5005 
> /sharedFolder/dataset/iris.csv{code}
> File iris.csv is pushed successfully.
> 2. List the flights available on the server
> {code:java}
> python3 <arrow_dir>/python/examples/flight/client.py list --tls --tls-roots 
> <arrow_dir>/testing/data/flight/root-ca.pem localhost:5005{code}
>  It is listing the flight which is pushed in above step 1.
> 3. Get/Retrieve the specific flight(eg. /sharedFolder/dataset/iris.csv) from 
> the server
> {code:java}
> python3 <arrow_dir>/python/examples/flight/client.py get --tls --tls-roots 
> <arrow_dir>/testing/data/flight/root-ca.pem -p /sharedFolder/dataset/iris.csv 
> localhost:5005{code}
>  It is failing with following errors:
> {quote}Ticket: <Ticket b"(1, None, (b'/sharedFolder/dataset/iris.csv',))">
> <Location b'grpc+tls://localhost:5005'>
> {color:#ff0000}E0401 06:43:30.164324553    1055 
> ssl_transport_security.cc:1238] Handshake failed with fatal error 
> SSL_ERROR_SSL: error:14090086:SSL 
> routines:ssl3_get_server_certificate:certificate verify failed.{color}
> Traceback (most recent call last):
>   File "<arrow_dir>/python/examples/flight/client.py", line 178, in <module>
>     main()
>   File "<arrow_dir>/python/examples/flight/client.py", line 174, in main
>     commands[args.action](args, client)
>   File "<arrow_dir>/python/examples/flight/client.py", line 98, in get_flight
>     reader = get_client.do_get(endpoint.ticket)
>   File "pyarrow/_flight.pyx", line 1144, in 
> pyarrow._flight.FlightClient.do_get
>   File "pyarrow/_flight.pyx", line 73, in pyarrow._flight.check_flight_status
> pyarrow._flight.FlightUnavailableError: gRPC returned unavailable error, with 
> message: Connect Failed
> {quote}
> Python client.py is working for functions like _list_flights(),  do_action(), 
> push_data()_ but failing on 
> _get_flight()_ function for code line.
> {code:java}
> reader = get_client.do_get(endpoint.ticket) {code}



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

Reply via email to