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-10389) Native RPCv9 client
Date Tue, 17 Jun 2014 03:47:03 GMT

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

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

To me this is not that interesting.  There are a lot of clients already out there in various
languages... C, C++, even golang.  Your code is much smaller because you didn't implement
generation of type-safe RPC wrappers (you just wrote out everything manually in {{HdfsImpl::Exists}}),
didn't integrate the existing JNIFS code, are not parsing the config XMLs, don't handle errors,
etc. etc.  {{boost::asio}} doesn't provide equivalent functionality to {{libuv}}.  It does
wrap a lot of network stuff, but doesn't handle things like condition variables, signals,
etc. etc.  It uses exceptions, which are problematic.  Yes, you can use boost for some of
that stuff, but the boost versions are often not that good.  For example, the boost condition
variable actually can let your thread wake up without recovering the lock (it then has to
sleep again).  Boost in general has a versioning problem which is really bad for libraries.
 If your library links against version X of boost, any application linking to you needs to
use the same version... otherwise bad stuff happens.  You could link it statically, but it
might be too big for that to work (I've never tried).

If you're interested in something even smaller and more minimal, you can check out this: https://github.com/toddlipcon/libhrpc/
 Though I think that that is for an out-of-date version of hadoop RPC at this point.

> Native RPCv9 client
> -------------------
>
>                 Key: HADOOP-10389
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10389
>             Project: Hadoop Common
>          Issue Type: Sub-task
>    Affects Versions: HADOOP-10388
>            Reporter: Binglin Chang
>            Assignee: Colin Patrick McCabe
>         Attachments: HADOOP-10388.001.patch, HADOOP-10389-alternative.000.patch, HADOOP-10389.002.patch,
HADOOP-10389.004.patch, HADOOP-10389.005.patch
>
>




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

Mime
View raw message