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