David Li created ARROW-8879:
-------------------------------
Summary: [FlightRPC][Java] FlightStream should unwrap
ExecutionExceptions
Key: ARROW-8879
URL: https://issues.apache.org/jira/browse/ARROW-8879
Project: Apache Arrow
Issue Type: Improvement
Components: FlightRPC, Java
Affects Versions: 0.17.1
Reporter: David Li
Assignee: David Li
Currently FlightStream bubbles a lot of exceptions as RuntimeException or
ExecutionException, or just wraps them with CallStatus.INTERNAL. For
RuntimeException, we should always check if it's a gRPC StatusRuntimeException
and convert to the equivalent Flight exception; for ExecutionException, we
should check if the _cause_ is a gRPC exception and convert.
Example: on master, FlightStream#getDescriptor reports all errors as
CallStatus.INTERNAL, but we should inspect ExecutionException#getCause instead.
This is needed so that errors get properly reported, e.g. if a service sends a
PERMISSION_DENIED error, the client should get that and not a RuntimeException,
ExecutionException, or INTERNAL error.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)