[
https://issues.apache.org/jira/browse/HADOOP-19235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17868105#comment-17868105
]
ASF GitHub Bot commented on HADOOP-19235:
-----------------------------------------
KeeProMise opened a new pull request, #6888:
URL: https://github.com/apache/hadoop/pull/6888
<!--
Thanks for sending a pull request!
1. If this is your first time, please read our contributor guidelines:
https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute
2. Make sure your PR title starts with JIRA issue id, e.g.,
'HADOOP-17799. Your PR title ...'.
-->
### Description of PR
please see: https://issues.apache.org/jira/browse/HDFS-17552
NOTE: This is a sub-pull request (PR) related to HDFS-17531(Asynchronous
router RPC). For more details or context, please refer to the main issue
[HDFS-17531](https://issues.apache.org/jira/browse/HDFS-17531)
More detailed documentation: HDFS-17531 **Router asynchronous rpc
implementation.pdf** and **Aynchronous router.pdf**
You can also view HDFS-17544 to understand the code of this PR.
### How was this patch tested?
new UT TestAsyncIPC#testAsyncCallWithCompletableFuture()
### For code changes:
- [x] Does the title or this PR starts with the corresponding JIRA issue id
(e.g. 'HADOOP-17799. Your PR title ...')?
- [ ] Object storage: have the integration tests been executed and the
endpoint declared according to the connector-specific documentation?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`,
`NOTICE-binary` files?
> IPC client uses CompletableFuture to support asynchronous operations.
> ---------------------------------------------------------------------
>
> Key: HADOOP-19235
> URL: https://issues.apache.org/jira/browse/HADOOP-19235
> Project: Hadoop Common
> Issue Type: New Feature
> Components: common
> Reporter: Jian Zhang
> Priority: Major
> Labels: pull-request-available
>
> h3. Description
> In the implementation of asynchronous Ipc.client, the main methods used
> include HADOOP-13226, HDFS-10224, etc.
> However, the existing implementation does not support `CompletableFuture`;
> instead, it relies on setting up callbacks, which can lead to the "callback
> hell" problem. Using `CompletableFuture` can better organize asynchronous
> callbacks. Therefore, on the basis of the existing implementation, by using
> `CompletableFuture`, once the `client.call` is completed, the asynchronous
> thread handles the response of this call without blocking the main thread.
>
> *Test*
> new UT TestAsyncIPC#testAsyncCallWithCompletableFuture()
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]