[ 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