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

Reply via email to