[ 
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.004.patch

Thanks Bob and Haohui for the reviews.  The new patch should address all of 
Bob's suggestions and all but one of Haohui's(no gmock yet).  

Haohui, I refactored the error detection code in the file handle 
implementation, are you saying I should write a gmock test just for that 
function?

I added a simple timeout to clear out the bad datanodes after a specified 
period of time (default to 2 minutes).  I think that should be sufficient for 
the initial API, I plan on adding a lot more features (mostly namenode 
operations) to the C api after HDFS-8790; but that depends on this being in.  
I'll open a new jira api extentions.

Right now I think it's important to move on to HDFS-8790 as soon as possible.  
I'm seeing some odd behavior around the RpcConnectionImpl where virtual methods 
are being called mid-destruction when used against a real cluster.  I'd like to 
knock out those sorts of bugs while this API is still fairly simple.

> 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
>
>
> 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