airframe icon indicating copy to clipboard operation
airframe copied to clipboard

airframe-rpc: Error handling with RPCException

Open xerial opened this issue 3 years ago • 0 comments
trafficstars

Add a standard method for handling exception in Airframe RPC.

Server side

  • Throw an RPCException in RPC implementations using RPCStatus code #1973
  • airframe-http needs to send RPCException to clients
    • finagle: embed RPCException to the HTTP response body #2141
    • gRPC: embed RPCException to the trailer #2139

Client side

  • sbt-airframe should add a wrapper to convert the server side exception to RPCException #2166
  • Introduce RPCHttpClient interface in order to consolidate error handling #2165
  • http client side logging to record RPCException, which will be automatically retried #2142 #1820
  • Read RPCException message from gRPC trailer

xerial avatar Apr 27 '22 23:04 xerial