Addendum vote result:
4(binding) +1: Hui Fei, Ayush Saxena, Xiaoqiao He, Shilun Fan
3(non-binding) +1: Zhanghaobo, HuaLong Zhang, Jian Zhang
Change to the formal title.
Merged to trunk.

Thanks all for your works.

Best Regards,
- He Xiaoqiao

On Thu, Feb 20, 2025 at 11:42 AM jian zhang <keeprom...@apache.org> wrote:

> Thanks all, +1 from me too.
>
>
>
> There's four binding +1, three non-binding +1, and no -1,
>
> so, HDFS-17531 will be merged into the trunk shortly.
>
>
> Best Regards,
>
> - Jian Zhang
>
> HuaLong Zhang <hualon...@hotmail.com> 于2025年2月17日周一 21:36写道:
>
>> +1.
>>
>> Thanks to the developers for the great work. This is a great enhancement
>> to the system.
>>
>> Best regards,
>> - Hualong Zhang
>> ------------------------------
>> *From:* slfan1989 <slfan1...@apache.org>
>> *Sent:* Saturday, February 15, 2025 10:40
>> *To:* jian zhang <keeprom...@apache.org>
>> *Cc:* Hdfs-dev <hdfs-dev@hadoop.apache.org>; <priv...@hadoop.apache.org>
>> <priv...@hadoop.apache.org>; Xiaoqiao He <hexiaoq...@apache.org>;
>> common-...@hadoop.apache.org <common-...@hadoop.apache.org>; Hui Fei <
>> feihui.u...@gmail.com>; hfutzhan...@163.com <hfutzhan...@163.com>
>> *Subject:* Re: [VOTE] Request to merge branch HDFS-17531 into trunk.
>>
>> +1
>>
>> Best Regards,
>> - Shilun Fan
>>
>> On Fri, Feb 14, 2025 at 3:22 PM jian zhang <keeprom...@apache.org> wrote:
>>
>> > Hi, all, the development of the asynchronous router functionality has
>> been
>> > completed. Thanks to all the contributors who participated in this
>> feature.
>> > The development branch is HDFS-17531, and it is ready to be merged into
>> the
>> > trunk branch.
>> >
>> > JIRA: HDFS-17531 https://issues.apache.org/jira/browse/HDFS-17531
>> > PR: https://github.com/apache/hadoop/pull/7308
>> >
>> > DISCUSS:
>> https://lists.apache.org/thread/02y3dtpfxt21bxjgmyl3kxnv4m1vwz44
>> >
>> > Here is the functionality introduction of the asynchronous router for
>> > everyone to review:
>> > I. Overview
>> >
>> >     The asynchronous router aims to address the performance bottleneck
>> > issues of the synchronous router in high - concurrency and multi -
>> > nameservices scenarios. By introducing an asynchronous processing
>> > mechanism, it optimizes the request handling process, improves the
>> system's
>> > concurrency ability and resource utilization, and is particularly
>> suitable
>> > for the federated scenarios where multiple downstream services (NS)
>> need to
>> > be processed.
>> >
>> > II. Problems of the Synchronous Router
>> >
>> >     - Performance Bottleneck: The performance of the synchronous router
>> is
>> > limited by the number of handler threads. Even if the connection thread
>> can
>> > still forward requests to the downstream namenode, the handler must wait
>> > for each request to complete before processing the next one, resulting
>> in
>> > limited processing capacity.
>> >     - Thread Resource Waste: To improve performance, increasing the
>> number
>> > of handler threads will lead to more thread switches, which instead
>> reduces
>> > the system efficiency. At the same time, a large number of handler
>> threads
>> > are in a blocked state, wasting thread resources.
>> >     - Poor Isolation in Multi - ns: If the performance of a certain
>> > nameservice in the downstream nameservice is poor, it will cause the
>> > handler to wait for a long time, thus affecting the forwarding of
>> requests
>> > to other normal - performance ns, resulting in a decrease in the overall
>> > performance of the downstream ns services perceived by the client.
>> >     - Ineffective Utilization of Federation Multi - ns Performance: In
>> high
>> > - concurrency scenarios, a large number of requests may be backlogged in
>> > the router's request queue, while the queues of downstream services are
>> not
>> > fully utilized, leading to unreasonable resource allocation.
>> >
>> > III. Design and Improvements of the Asynchronous Router
>> >
>> >     The asynchronous router solves the above problems by redesigning the
>> > request handling process and introducing an asynchronous processing
>> > mechanism. Its core improvements include:
>> >
>> >     - Handler: Retrieves requests from the request queue for preliminary
>> > processing. If there are exceptions in the request (such as the mount
>> point
>> > does not exist, etc.), it directly puts the response into the response
>> > queue; otherwise, it sends the request to the asynchronous handler
>> thread
>> > pool.
>> >     - Async Handler: Puts the request into the call queue
>> > (connection.calls) of the connection thread and returns immediately
>> without
>> > blocking and waiting.
>> >     - Async Responder: Is responsible for processing the responses
>> received
>> > by the connection thread. If the request needs to be re - initiated
>> (such
>> > as the downstream service returns a standby exception), it re - adds the
>> > request to the asynchronous handler thread pool; otherwise, it puts the
>> > response into the response queue.
>> >     - Responder: Retrieves the response from the response queue and
>> returns
>> > it to the client.
>> >
>> > IV. Advantages of the Asynchronous Router
>> >
>> >     - High - Concurrency Performance: Through the asynchronous
>> processing
>> > mechanism, the asynchronous router can handle a large number of requests
>> > simultaneously, significantly improving the system's concurrent
>> processing
>> > ability.
>> >     - High Resource Utilization: It avoids thread blocking and frequent
>> > switching, reduces thread resource waste, and improves the overall
>> > efficiency of the system.
>> >     - Isolation: Different ns are processed by different async handler
>> > thread pools, achieving isolation of different downstream services.
>> Even if
>> > the performance of a certain service is poor, it will not affect the
>> > processing ability of other services.
>> >
>> > V. Summary
>> >
>> >     The asynchronous router solves the performance bottleneck problem of
>> > the traditional synchronous router in high - concurrency scenarios by
>> > introducing an asynchronous processing mechanism. It not only improves
>> the
>> > system's concurrency ability and resource utilization but also achieves
>> > isolation of downstream services through the queue mechanism, enhancing
>> the
>> > system's stability and adaptability. In the federated scenarios where
>> > multiple downstream services need to be processed, the asynchronous
>> router
>> > is a more efficient and reliable solution.
>> > VI. Performance Testing
>> >
>> >
>> >
>> >
>> https://docs.google.com/document/d/1meHOCvhm3XRHlIMwvKFidfUSjveTJrb8yAMasrM_HrY/edit?tab=t.0#heading=h.du0zlo2k5sb1
>> >
>> > VII. JIRA & RPs
>> >
>> >     For more information, please refer to JIRA:
>> >     JIRA: RBF: Asynchronous router RPC:
>> > https://issues.apache.org/jira/browse/HDFS-17531
>> >     PRs:
>> >     HDFS-17543. [ARR] AsyncUtil makes asynchronous code more concise and
>> > easier.
>> >     HADOOP-19235. IPC client uses CompletableFuture to support
>> asynchronous
>> > operations.
>> >     HDFS-17544. [ARR] The router client rpc protocol PB supports
>> > asynchrony.
>> >     HDFS-17545. [ARR] router async rpc client.
>> >     HDFS-17594. [ARR] RouterCacheAdmin supports asynchronous rpc.
>> >     HDFS-17597. [ARR] RouterSnapshot supports asynchronous rpc.
>> >     HDFS-17595. [ARR] ErasureCoding supports asynchronous rpc.
>> >     HDFS-17601. [ARR] RouterRpcServer supports asynchronous rpc.
>> >     HDFS-17596. [ARR] RouterStoragePolicy supports asynchronous rpc.
>> >     HDFS-17656. [ARR] RouterNamenodeProtocol and RouterUserProtocol
>> > supports asynchronous rpc.
>> >     HDFS-17659. [ARR]Router Quota supports asynchronous rpc.
>> >     HDFS-17672. [ARR] Move asynchronous related classes to the async
>> > package.
>> >     HADOOP-19361. RPC DeferredMetrics bugfix.
>> >     HDFS-17640.[ARR] RouterClientProtocol supports asynchronous rpc.
>> >     HDFS-17650. [ARR] The router server-side rpc protocol PB supports
>> > asynchrony.
>> >     HDFS-17651.[ARR] Async handler executor isolation.
>> >     HDFS-17715. [ARR] Add documentation for asynchronous router.
>> >
>>
>

Reply via email to