hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-10640) Implement Namenode RPCs in HDFS native client
Date Wed, 04 Jun 2014 20:35:02 GMT

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

Mime
View raw message