[
https://issues.apache.org/jira/browse/HDFS-17545?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jian Zhang resolved HDFS-17545.
-------------------------------
Fix Version/s: HDFS-17531
Hadoop Flags: Reviewed
Resolution: Done
> [ARR] router async rpc client.
> ------------------------------
>
> Key: HDFS-17545
> URL: https://issues.apache.org/jira/browse/HDFS-17545
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: rbf
> Reporter: Jian Zhang
> Assignee: Jian Zhang
> Priority: Major
> Labels: pull-request-available
> Fix For: HDFS-17531
>
>
> *Describe*
> 1. Mainly using AsyncUtil to implement {*}RouterAsyncRpcClient{*}, this class
> extends RouterRpcClient, enabling the {*}invoiceAll{*}, {*}invoiceMethod{*},
> {*}invoiceSequential{*}, {*}invoiceConcurrent{*}, and *invoiceSingle* methods
> to support asynchrony.
> 2. Use two thread pools, *asyncRouterHandler* and {*}asyncRouterResponder{*},
> to handle asynchronous requests and responses, respectively.
> 3. Added {*}DFS_ROUTER_RPC_ENABLE_ASYNC{*},
> {*}DFS_ROUTER_RPC_ASYNC_HANDLER_COUNT{*},
> *DFS_ROUTER_RPC_ASYNC_RESPONDER_COUNT_DEFAULT* to configure whether to use
> async router, as well as the number of asyncRouterHandlers and
> asyncRouterResponders.
> 4. Using *ThreadLocalContext* to maintain thread local variables, ensuring
> that thread local variables can be correctly passed between handler,
> asyncRouterHandler, and asyncRouterResponder.
>
> *Test*
> new UT TestRouterAsyncRpcClient
> Note: For discussions on *AsyncUtil* and client {*}protocolPB{*}, please
> refer to HDFS-17543 and HDFS-17544.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]