[
https://issues.apache.org/jira/browse/HDFS-8766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14936199#comment-14936199
]
Haohui Mai commented on HDFS-8766:
----------------------------------
Thanks for updating the patch.
{code}
+add_subdirectory(compatibility)
{code}
It should be named as {{binding/c}}.
{code}
+ virtual ~IoServiceImpl(){}
+
{code}
It doesn't seem to be necessary.
{code}
+#include "../../include/compatibility/hdfs.h"
{code}
The include paths are incorrect. It should be "compatibility/hdfs.h". There are
many places like this.
{code}
+struct hdfsFile_internal {
+ hdfsFile_internal(InputStream *is) : inputStream(is){};
...
{code}
The naming is far off for the Google C++ style guide (which is the one this
project is used for). Please refer to
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Naming and
adhere to the naming conventions.
{code}
+ InputStream *inputStream;
{code}
Looks like {{hdfsFile_internal}} owns the object. It should be {{unique_ptr}}.
{code}
+ bool connect(const char *nn, tPort port, unsigned int threads = 1) {
{code}
Please separate the declaration and the implementation of the function.
{code}
if (nullptr == file)
{code}
Another examples that is off the styling guide. Please change it to {{if
(file)}}. There are multiple snippets like that.
> 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
>
>
> 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)