Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-8879

[FlightRPC][Java] FlightStream should unwrap ExecutionExceptions

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 0.17.1
    • 1.0.0
    • FlightRPC, Java
    • None

    Description

      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.

      Attachments

        Activity

          People

            lidavidm David Li
            lidavidm David Li
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: