[
https://issues.apache.org/jira/browse/HDFS-9924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15299161#comment-15299161
]
Andrew Wang commented on HDFS-9924:
-----------------------------------
I'm still not convinced enough to change my -1 on Future in 2.8.
Even if what's currently committed is marked Unstable, I don't want to rush
ahead with an API we know is insufficient for async-style programming. Earlier
in this JIRA's comments, others were asking about ListenableFuture for the same
reasons. It's not fair to push the burden of supporting multiple APIs onto our
downstreams, when we have a few possible solutions close at-hand:
* Use Deferred, which HBase and Kudu adopted due to the lack of
CompletableFuture in JDK7. ListenableFuture might be good too.
* Target this for 3.0 and use CompletableFuture. We're actively working on 3.0,
and the first 3.0.0 alpha is likely coming out around the same time as 2.8.0.
> [umbrella] Asynchronous HDFS Access
> -----------------------------------
>
> Key: HDFS-9924
> URL: https://issues.apache.org/jira/browse/HDFS-9924
> Project: Hadoop HDFS
> Issue Type: New Feature
> Components: fs
> Reporter: Tsz Wo Nicholas Sze
> Assignee: Xiaobing Zhou
> Attachments: AsyncHdfs20160510.pdf
>
>
> This is an umbrella JIRA for supporting Asynchronous HDFS Access.
> Currently, all the API methods are blocking calls -- the caller is blocked
> until the method returns. It is very slow if a client makes a large number
> of independent calls in a single thread since each call has to wait until the
> previous call is finished. It is inefficient if a client needs to create a
> large number of threads to invoke the calls.
> We propose adding a new API to support asynchronous calls, i.e. the caller is
> not blocked. The methods in the new API immediately return a Java Future
> object. The return value can be obtained by the usual Future.get() method.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]