[ 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: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org