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)