Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E2FEED1B9 for ; Wed, 12 Dec 2012 06:48:23 +0000 (UTC) Received: (qmail 56184 invoked by uid 500); 12 Dec 2012 06:48:23 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 55951 invoked by uid 500); 12 Dec 2012 06:48:21 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 55919 invoked by uid 99); 12 Dec 2012 06:48:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Dec 2012 06:48:20 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of elliott.neil.clark@gmail.com designates 209.85.219.54 as permitted sender) Received: from [209.85.219.54] (HELO mail-oa0-f54.google.com) (209.85.219.54) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Dec 2012 06:48:14 +0000 Received: by mail-oa0-f54.google.com with SMTP id n9so489466oag.27 for ; Tue, 11 Dec 2012 22:47:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=0p//bVz9qXwbXTdorpL5mh5IHRonM1pBJ8xSMNGeU7w=; b=u/TbPGE/+4o+U5ejlWiq72ATZ+FPJruIsd8vV0PCmKFQQvIBg9wSw2oBT+sVXRgZ++ CPIWx2RdulLL26/KEfklczBuMqsJRrfhsdVlmodh7BZHUX8H5+V5/eCIxErI229Jpan6 St8zDP1joutMxXzBAue0EWm2UZIRjxjguhlGOUd4aFv/TU3UiowFGRXmzYxpixl/tB0m RaQHyIDcWAysTLGGkH6bDt2tQGT5BV12DhhxfdhXpAeJ0p9hOq/jOkeD2wIA1NMAT+CI 6o9/Iu2IVOe+yatXBFh1jhgZoEeVCTyYbvxBwLC/VcM+HZ3LNbwyN5Gm7A9iSaj7mMz/ qf1A== MIME-Version: 1.0 Received: by 10.182.157.82 with SMTP id wk18mr349387obb.26.1355294873261; Tue, 11 Dec 2012 22:47:53 -0800 (PST) Sender: elliott.neil.clark@gmail.com Received: by 10.76.26.116 with HTTP; Tue, 11 Dec 2012 22:47:52 -0800 (PST) In-Reply-To: References: Date: Tue, 11 Dec 2012 22:47:52 -0800 X-Google-Sender-Auth: DaxEA0H8o0wmYm6C8bZf_mIOY4w Message-ID: Subject: Re: ClientService protobuf RPC service implementation? From: Elliott Clark To: dev@hbase.apache.org Content-Type: multipart/alternative; boundary=f46d041826327c97b104d0a22d3f X-Virus-Checked: Checked by ClamAV on apache.org --f46d041826327c97b104d0a22d3f Content-Type: text/plain; charset=ISO-8859-1 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 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 > 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 wrote: > > > > > src/main/java/org/apache/hadoop/hbase/client/ClientProtocol.java > > > > > > --f46d041826327c97b104d0a22d3f--