Return-Path: X-Original-To: apmail-hbase-user-archive@www.apache.org Delivered-To: apmail-hbase-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 01C6810810 for ; Tue, 20 Aug 2013 16:12:23 +0000 (UTC) Received: (qmail 27123 invoked by uid 500); 20 Aug 2013 16:12:20 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 26535 invoked by uid 500); 20 Aug 2013 16:12:20 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 26522 invoked by uid 99); 20 Aug 2013 16:12:19 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Aug 2013 16:12:19 +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 yuzhihong@gmail.com designates 209.85.215.46 as permitted sender) Received: from [209.85.215.46] (HELO mail-la0-f46.google.com) (209.85.215.46) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Aug 2013 16:12:13 +0000 Received: by mail-la0-f46.google.com with SMTP id eh20so472770lab.33 for ; Tue, 20 Aug 2013 09:11:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=odn8DAPJvjWH5Vtx/gVpDfFvYyiLWsEyZGWNS65CbWI=; b=ABRh6DzE3r9wOnOhc5PI+L+fhVfzqasgYhRywyQhORn77TYSrfbeiPdLumcy7xvcdQ OZG48dg0TXWPvGfL7jCJHdCvBhAD3m1nU644PYUoT5R+o45LXOafAaGcbCop9AnQLlsh dM7+rptjujVdDAkQ6lDyxgYRWdjTeKaAPUncDVXP0ekoJX/ozxLWPTHusaFMS0TkXgzw G2yVo6YwbkX0qZoaBfzeMBFaa8b1meSuXm1dvMtKAHOJuiSln4GCUx3KjOMGlrqU54wt KMeCJKMzufACYPtXh/d5APzJYoZ15koi7B3aR96QQaVgr2ExhGd6wCaTVAPFbMARcXqY E2Ng== MIME-Version: 1.0 X-Received: by 10.112.181.36 with SMTP id dt4mr1699078lbc.46.1377015112638; Tue, 20 Aug 2013 09:11:52 -0700 (PDT) Received: by 10.112.129.40 with HTTP; Tue, 20 Aug 2013 09:11:52 -0700 (PDT) In-Reply-To: References: Date: Tue, 20 Aug 2013 09:11:52 -0700 Message-ID: Subject: Re: Performance penalty: Custom Filter names serialization From: Ted Yu To: "user@hbase.apache.org" Content-Type: multipart/alternative; boundary=001a11c36ad0a3adc804e46350a9 X-Virus-Checked: Checked by ClamAV on apache.org --001a11c36ad0a3adc804e46350a9 Content-Type: text/plain; charset=ISO-8859-1 Are you using HBase 0.92 or 0.94 ? In 0.95 and later releases, HbaseObjectWritable doesn't exist. Protobuf is used for communication. Cheers On Tue, Aug 20, 2013 at 8:56 AM, Pablo Medina wrote: > Hi all, > > I'm using custom filters to retrieve filtered data from HBase using the > native api. I noticed that the class full names of those custom filters is > being sent as the bytes representation of the string using > Text.writeString(). This consumes a lot of network bandwidth in my case due > to using 5 custom filters per Get and issuing 1.5 million gets per minute. > I took at look at the code (org.apache.hadoop.hbase.io.HbaseObjectWritable) > and It seems that HBase registers its known classes (Get, Put, etc...) and > associates them with an Integer (CODE_TO_CLASS and CLASS_TO_CODE). That > integer is sent instead of the full class name for those known classes. I > did a test reducing my custom filter class names to 2 or 3 letters and it > improved my performance in 25%. > Is there any way to "register" my custom filter classes to behave the same > as HBase's classes? If not, does it make sense to introduce a change to do > that? Is there any other workaround for this issue? > > Thanks! > --001a11c36ad0a3adc804e46350a9--