[ 
https://issues.apache.org/jira/browse/HDFS-9924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15328931#comment-15328931
 ] 

Arpit Agarwal commented on HDFS-9924:
-------------------------------------

Hi [~andrew.wang], the discussion has diverged from the merits of the API to 
branching.

A feature branch is not an end goal in itself - it should aid feature 
development. We have generally used feature branches to avoid destabilizing 
release branches and that doesn't appear to be a risk here. So branching just 
defers the API discussion to branch merge time.

Moving on to the merits of CompletableFuture vs Future - everyone seems to 
agree that CompletableFuture is a good choice for 3.x which addresses your 
original concerns. Everyone also agrees that CompletableFuture is obviously out 
for 2.x and Guava's ListenableFuture is a bad idea. The remaining point of 
disagreement appears to be whether we should expose a Future-based API for 2.x 
or do nothing. Since some downstream developers have expressed an interest in 
trying out a 2.x Future-based API even if it's tagged as Unstable/Experimental, 
is there a compelling reason to deny it? If Future turns to be of no use to 
anyone we can evolve the API in a later 2.x release or just revert it 
completely while the way forward (3.x) remains unaffected.

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

Reply via email to