[
https://issues.apache.org/jira/browse/HDFS-9924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15322305#comment-15322305
]
Tsz Wo Nicholas Sze commented on HDFS-9924:
-------------------------------------------
It seems that the disagreement is about the API (i.e. what to return? Future,
ListenableFuture, CompletableFuture or Deffered?). This JIRA and the current
implementation originally aim to support a basic async access to HDFS without
callback support and without chaining support. Therefore, we choose to return
Future in the current API. From the discussion in HADOOP-12910, it is very
likely that we will support a sub-interface of Future as the return type.
Then, the current API is fine as the first step. When we change to return
XxxFuture in the future, it is a backward compatible change.
If we do need a branch, the branch should be for HADOOP-12910 but not this JIRA.
> [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]