[
https://issues.apache.org/jira/browse/HDFS-9924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15322280#comment-15322280
]
Tsz Wo Nicholas Sze commented on HDFS-9924:
-------------------------------------------
> Based on the discussion so far, it seems like the existing async API needs to
> be changed. ...
The existing async API is returning Future. From the discussion in
HADOOP-12910, we are going to use ListenableFuture or CompletableFuture. Both
of them are a sub interface of Future. Changing from Future to
ListenableFuture or CompletableFuture is a backward compatible change.
> ... Either way, Hive needs to change how it uses HDFS when upgraded from 2.8
> to 2.9 if we plan to put the new async API to 2.9.
Provided that the new async API is backward compatible with the current API
(which returns Future) as mentioned above, Hive does NOT need to change.
> [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]