xshirax opened a new issue, #43556:
URL: https://github.com/apache/arrow/issues/43556

   ### Describe the usage question you have. Please include as many useful 
details as  possible.
   
   
   Hi 
   
   Im using python ArrowFlight client & server.
   I noticed that the internal implementation of "do_get" and "get_schema" 
functions are not the same
   "do_get" calls the "check_flight_status" function, while "get_schema" calls 
the "check_status" function
   do_get: 
https://github.com/apache/arrow/blob/66cb7495d1a43f3539cf66f6d88bac40fb9d28d4/python/pyarrow/_flight.pyx#L1633
   get_schema: 
https://github.com/apache/arrow/blob/66cb7495d1a43f3539cf66f6d88bac40fb9d28d4/python/pyarrow/_flight.pyx#L1614
   
   this causes errors to behave differently - 
   while "do_get" throws internal Flight errors, "get_schema" only throws Arrow 
Errors and IOErrors.
   
   Is this intentional? 
   Im asking because I noticed that my server is unavailable, i get 
"FlightUnavailableError" when calling "do_get" but I get "OSError" when calling 
"get_schema" (with the message: "Flight returned unavailable error, with 
message: unavailable. Detail: Unavailable") and im unsure how to handle such 
error and how should I know to trigger a retry on OSError. Also, im not sure 
when does other ArrowExceptions are thrown from flight - is there a 
documentation for that?
   
   Thanks!
   
   ### Component(s)
   
   FlightRPC


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to