[
https://issues.apache.org/jira/browse/HBASE-3899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13071531#comment-13071531
]
stack commented on HBASE-3899:
------------------------------
Vlad, I have a test failing after applying this. Does it fail for you?
{code}
Running org.apache.hadoop.hbase.master.TestHMasterRPCException
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.716 sec <<<
FAILURE!
{code}
Thanks.
> enhance HBase RPC to support free-ing up server handler threads even if
> response is not ready
> ---------------------------------------------------------------------------------------------
>
> Key: HBASE-3899
> URL: https://issues.apache.org/jira/browse/HBASE-3899
> Project: HBase
> Issue Type: Improvement
> Components: ipc
> Reporter: dhruba borthakur
> Assignee: dhruba borthakur
> Fix For: 0.92.0
>
> Attachments: HBASE-3899-2.patch, HBASE-3899.patch, asyncRpc.txt,
> asyncRpc.txt
>
>
> In the current implementation, the server handler thread picks up an item
> from the incoming callqueue, processes it and then wraps the response as a
> Writable and sends it back to the IPC server module. This wastes
> thread-resources when the thread is blocked for disk IO (transaction logging,
> read into block cache, etc).
> It would be nice if we can make the RPC Server Handler threads pick up a call
> from the IPC queue, hand it over to the application (e.g. HRegion), the
> application can queue it to be processed asynchronously and send a response
> back to the IPC server module saying that the response is not ready. The RPC
> Server Handler thread is now ready to pick up another request from the
> incoming callqueue. When the queued call is processed by the application, it
> indicates to the IPC module that the response is now ready to be sent back to
> the client.
> The RPC client continues to experience the same behaviour as before. A RPC
> client is synchronous and blocks till the response arrives.
> This RPC enhancement allows us to do very powerful things with the
> RegionServer. In future, we can make enhance the RegionServer's threading
> model to a message-passing model for better performance. We will not be
> limited by the number of threads in the RegionServer.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira