[ 
https://issues.apache.org/jira/browse/HADOOP-10640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14018120#comment-14018120
 ] 

Colin Patrick McCabe commented on HADOOP-10640:
-----------------------------------------------

bq. CMakeLists.txt: #add_subdirectory(fs) fs/CMakeLists.txt redundant?

Oops, this was from an earlier version.  Removed.

bq. CMakeList.txt: -fvisibility=hidden macosx also support this

According to the CMake documentation, "UNIX is TRUE on all UNIX-like OS's, 
including Apple OS X and CygWin".  So my "if statement" should activate on 
MacOS... let me know if it doesn't for you.

bq. fs/fs.h:136 use hdfsFile/hdfsFs instead of struct hdfsFile_internal 
*/struct hdfs_internal ?

I don't really like the typedefs.  They make it hard to forward-declare 
structures in header files.

bq. config.h.cmake HCONF_XML_TEST_PATH we can set CLASSPATH env in tests, it 
better than static config macro

I wanted "make test" to keep working without any special effort on behalf of 
the user running "make."  If you can think of a way to do this without the 
{{HCONF_XML_TEST_PATH}} macro, let me know.

bq. should add ${JNI_INCLUDE_DIRS} in include_directories:

added, thanks.

bq. 
/Users/decster/projects/hadoop-trunk/hadoop-native-core/ndfs/ndfs.c:1055:14: 
warning: incompatible pointer types initializing 'int (struct hdfs_internal *, 
const char *, int64_t, int64_t)' with int64_t

Ah, you reminded me.  I need to multiply these numbers by 1000 to take into 
account the fact that the libhdfs API only does second (not millisecond) 
precision (unfortunately).

In general, I would like to get rid of {{tTime}} at some point.  It doesn't 
really do anything useful.  It makes time 32 bits on 32-bit systems, and I 
don't see why we would want that.  It should just be 64 bits everywhere, hence 
{{int64_t}}.  This matches up with what it is in Java... a Java long is always 
64 bits and signed.  So I use {{int64_t}} for all the internal functions and 
only deal with {{tTime}} in {{fs.c}} and {{hdfs.h}}.

bq. /Users/decster/projects/hadoop-trunk/hadoop-native-core/fs/common.c:39:36: 
warning: 'memset' call operates on objects of type 'hdfsFileInfo' (aka 'struct 
file_info') while the size is based on a

fixed, thanks.

bq. /Users/decster/projects/hadoop-trunk/hadoop-native-core/rpc/proxy.c:102:27: 
warning: 'memset' call operates on objects of type 'struct hrpc_sync_ctx' while 
the size is based on a different type

fixed

> Implement Namenode RPCs in HDFS native client
> ---------------------------------------------
>
>                 Key: HADOOP-10640
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10640
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: native
>    Affects Versions: HADOOP-10388
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HADOOP-10640-pnative.001.patch
>
>
> Implement the parts of libhdfs that just involve making RPCs to the Namenode, 
> such as mkdir, rename, etc.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to