[ 
https://issues.apache.org/jira/browse/RATIS-2629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Abhishek Pal updated RATIS-2629:
--------------------------------
    Summary:  Netty RPC processes requests on the IO event loop and lacks 
exception handling  (was:  Netty RPC server processes requests on the I/O event 
loop and lacks exception handling)

>  Netty RPC processes requests on the IO event loop and lacks exception 
> handling
> -------------------------------------------------------------------------------
>
>                 Key: RATIS-2629
>                 URL: https://issues.apache.org/jira/browse/RATIS-2629
>             Project: Ratis
>          Issue Type: Bug
>            Reporter: Abhishek Pal
>            Assignee: Abhishek Pal
>            Priority: Major
>
> 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.
>  The gRPC transport does not have this problem because it drives the 
> asynchronous server APIs like appendEntriesAsync instead of blocking the 
> transport thread.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to