davsclaus commented on code in PR #27244: URL: https://github.com/apache/camel/pull/27244#discussion_r4163317348
########## docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc: ########## @@ -737,6 +737,15 @@ in the charset that the `Content-Type` declares, so the bytes match the header. the declared charset and read such a response as UTF-8 must now use the declared charset, and characters that the declared charset cannot represent are written as `?`. +=== camel-thrift - failed exchanges in the consumer + +The Thrift consumer now sends the exception of a failed exchange to the client as the result of the call: an +exception declared by the Thrift method (such as `throws (1:InvalidOperation ouch)`) as that exception, any other +exception as a `TApplicationException`. Before, the synchronous server (`synchronous=true`) ignored the failure (a +`void` method returned normally, other methods failed with `Return type requires not empty body`), and the asynchronous +server sent both the error and a regular response, so the error could be read as the answer to the next call on the +same connection. + Review Comment: Nit (optional, non-blocking): small wording points. `synchronous=true` selects synchronous processing of the call (the blocking `Iface` processor); the server itself is the same non-blocking `ThriftHsHaServer` unless SSL/ZLIB is used, so "synchronous server" is slightly misleading. Also, before this change a non-void method could return the failed exchange's body (when it converted to the return type), not only fail with `Return type requires not empty body`. Maybe something like: ```suggestion exception as a `TApplicationException`. Before, with `synchronous=true` the failure was ignored (a `void` method returned normally, other methods returned the message body converted to the return type, or failed with `Return type requires not empty body`), and in the default asynchronous mode both the error and a regular response were sent, so the error could be read as the answer to the next call on the same connection. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
