You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
Reporter: David Li / @lidavidm
Assignee: David Li / @lidavidm
Note: This issue was originally created as ARROW-8879. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: