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