[ 
https://issues.apache.org/jira/browse/HDFS-8766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Clampffer updated HDFS-8766:
----------------------------------
    Attachment: HDFS-8766.HDFS-8707.010.patch

Thanks for the input Bob, I put the file handle and file system into the hdfs 
namespace.  I'd like to avoid moving pieces into /lib/fs until this lands just 
to minimize the scope of this patch.

This patch contains all changes suggested by Haohui except for a templated 
synchronized call on the methods wrapped with futures.

As it turns out doing the templatized call without setting up tons of extra 
stuff at the call site that can do perfect forwarding is tricky; both due to 
the nature of the problem and compiler issues that get in the way of what 
should work.  I've spent enough time working on that that I think it's worth 
just getting this in as-is and pushing that implementation and refactoring into 
another jira.

Bob and Haohui, could you take a look at the latest patch?  Thanks.

> Implement a libhdfs(3) compatible API
> -------------------------------------
>
>                 Key: HDFS-8766
>                 URL: https://issues.apache.org/jira/browse/HDFS-8766
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client
>            Reporter: James Clampffer
>            Assignee: James Clampffer
>         Attachments: HDFS-8766.HDFS-8707.000.patch, 
> HDFS-8766.HDFS-8707.001.patch, HDFS-8766.HDFS-8707.002.patch, 
> HDFS-8766.HDFS-8707.003.patch, HDFS-8766.HDFS-8707.004.patch, 
> HDFS-8766.HDFS-8707.005.patch, HDFS-8766.HDFS-8707.006.patch, 
> HDFS-8766.HDFS-8707.007.patch, HDFS-8766.HDFS-8707.008.patch, 
> HDFS-8766.HDFS-8707.009.patch, HDFS-8766.HDFS-8707.010.patch
>
>
> Add a synchronous API that is compatible with the hdfs.h header used in 
> libhdfs and libhdfs3.  This will make it possible for projects using 
> libhdfs/libhdfs3 to relink against libhdfspp with minimal changes.
> This also provides a pure C interface that can be linked against projects 
> that aren't built in C++11 mode for various reasons but use the same 
> compiler.  It also allows many other programming languages to access 
> libhdfspp through builtin FFI interfaces.
> The libhdfs API is very similar to the posix file API which makes it easier 
> for programs built using posix filesystem calls to be modified to access HDFS.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to