spacemonkd opened a new pull request, #1538: URL: https://github.com/apache/ratis/pull/1538
## What changes were proposed in this pull request? RATIS-2629. Handle Netty based request asynchronously and improve exception handling Currently NettyRpcService handles every inbound request synchronously on the Netty IO event-loop thread and its inbound handler does not override exceptionCaught. This can cause: - a slow or long-running request occupies the worker thread delaying all other requests on that event loop - only IOException is converted into an error reply. Any other Throwable escapes the handler with no exceptionCaught, Netty's default handling only logs it and never writes a reply, so the client blocks until its request timeout. This patch offloads the request handling out of the core IO path, and closes the channel to prevent blocking. This mirrors how gRPC handles the requests. ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/RATIS-2629 ## How was this patch tested? Patch was tested via unit tests. -- 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]
