Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Plain View
HBase >> mail # dev >> ClientService protobuf RPC service implementation?


+
Mick Hittesdorf 2012-12-11, 00:13
+
Stack 2012-12-11, 05:05
+
Ted Yu 2012-12-11, 05:00
+
Mick Hittesdorf 2012-12-12, 02:05
+
Ted Yu 2012-12-12, 05:08
Copy link to this message
-
Re: ClientService protobuf RPC service implementation?
The blocking interface is just used to tie the request type to a response
type.  The actual non-blocking/blocking part is implemented in  HBaseRPC
(it actually uses nio to do the io).

If you want to create your own client that's non-blocking you'll have to
create your own version of HBaseRPC and the serialization.  Here's
something close to what you were talking about that I created.  It can read
root and meta but not much more:
https://github.com/elliottneilclark/hbase/tree/webscale_client

Though currently in trunk lots of changes have been made for how HBase
sends KeyValues across the wire.
On Tue, Dec 11, 2012 at 9:08 PM, Ted Yu <[EMAIL PROTECTED]> wrote:

> protobuf is used in HBase for serialization.
>
> I searched the files under
> hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated but
> didn't see any non-blocking interface.
>
> A brief search on the web resulted in:
> https://groups.google.com/forum/?fromgroups=#!topic/protobuf/s7jAGvJKgmA
>
> But that thread was really old.
>
> Would do more searching.
>
> Cheers
>
> On Tue, Dec 11, 2012 at 6:05 PM, Mick Hittesdorf
> <[EMAIL PROTECTED]>wrote:
>
> > Thanks for the information. I was wondering why the ClientProtocol
> > specifically implements the BlockingInterface? I want to write a
> > non-blocking, event-driven, asynchronous, multi-threaded client similar
> to
> > asynchhbase (https://github.com/OpenTSDB/asynchbase) but in C++.  Am I
> > going to need to 'hide' the blocking semantics implemented by HBase in my
> > client in order to achieve this?
> >
> > Thanks in advance! Mick
> >
> > On Mon, Dec 10, 2012 at 11:00 PM, Ted Yu <[EMAIL PROTECTED]> wrote:
> >
> > > src/main/java/org/apache/hadoop/hbase/client/ClientProtocol.java
> > >
> >
>
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB