Commit a4340c5
committed
Correctly map all Error fields from gRPC details
It's not enough to just return the correct error type. User logic, not to mention client internals, rely on specific fields from the error returned by the server. Extract these from the Status details and set them on the corresponding TException type.
Additionally include the Client feature flags header, which can disable/enable returning WorkflowExecutionAlreadyCompletedError. The current implementation incorrectly translated EntityNotExistsErrors to WorkflowExecutionAlreadyCompletedError based on the message name, which is different from the Thrift behavior. If the client sends the correct header it will receive the correct type.1 parent 03aaf14 commit a4340c5
File tree
5 files changed
+402
-224
lines changed- src
- main/java/com/uber/cadence/internal/compatibility
- proto/serviceclient
- thrift
- test/java/com/uber/cadence
- internal/compatibility/thrift
- testUtils
5 files changed
+402
-224
lines changed
0 commit comments