Hi Wesley, See HBASE-794 and HBASE-1015.
> There was some talk about a C API via Thrift. The PyLucene > folk have a code generator for using C++ and Python with > JNI: > http://svn.osafoundation.org/pylucene/trunk/jcc/jcc/README. Thanks for the link. Actually I recall you mentioned this before. > Does anybody care if there's a C++ API, but no C API? I personally don't but was thinking that a C++ API that has as close to a 1:1 entity mapping to the Java one could be easily based on a slightly lower level C API. This way if a pure C API is required by someone, it is not a problem for them. > Is HBase RPC better than Thrift? If so, can Thrift really > beat JNI? If not, prefer PyLucene's JCC over Thrift. I am not sure of the history exactly, but I believe that Hadoop RPC (HRPC) -- HBase borrows Hadoop RPC -- was developed as a better RMI, without regard to language independence because the Hadoop platform was/is implemented solely in Java. > If HBase RPC is worse than Thrift, then adopting Thrift and > dropping RPC seems smart to me. You save on the messaging > layer work, plus you get all those other language bindings > for free. The question I believe is really about language independence. HRPC levies the requirement for some Java on the client side. Right now both Thrift and Google protobufs are on the table. Both of these have bindings for several languages, most importantly C, which can underpin any API and application in any language, and of course Java, for integration with HBase master and regionserver daemons. - Andy
