From issues-return-140526-apmail-hbase-issues-archive=hbase.apache.org@hbase.apache.org Thu Mar 20 06:51:00 2014 Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2DA2CCBF1 for ; Thu, 20 Mar 2014 06:51:00 +0000 (UTC) Received: (qmail 29728 invoked by uid 500); 20 Mar 2014 06:50:59 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 29492 invoked by uid 500); 20 Mar 2014 06:50:56 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 28843 invoked by uid 99); 20 Mar 2014 06:50:51 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Mar 2014 06:50:51 +0000 Date: Thu, 20 Mar 2014 06:50:50 +0000 (UTC) From: "Matt Corgan (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-10801) Ensure DBE interfaces can work with Cell MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-10801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13941459#comment-13941459 ] Matt Corgan commented on HBASE-10801: ------------------------------------- I did some tinkering with this a while back, and the approach may be very outdated, but I'll quickly point it out here. The DBE's maintain a BufferedDataBlockEncoder.SeekerState which is a snapshot of a single decoded KV/Cell that is ready to be sent up the read path. In existing code, it gets deep-copied to a KeyValue: https://github.com/apache/hbase/blob/0.98/hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java But I think SeekerState could be made to implement Cell and therefore we could send a shallow-copied reference up the read path. This code is very old and likely has parts that don't make sense or even compile, but hopefully it still illustrates how SeekerState can extend Cell: https://github.com/hotpads/hbase/blob/cell-seeker-state/hbase-server/src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java I also remember trying two approaches with different strategies regarding when to copy the primitive fields, and this one was slower, but I don't have the faster one. Just throwing that out there in case there's merit to the overall approach. > Ensure DBE interfaces can work with Cell > ---------------------------------------- > > Key: HBASE-10801 > URL: https://issues.apache.org/jira/browse/HBASE-10801 > Project: HBase > Issue Type: Sub-task > Reporter: ramkrishna.s.vasudevan > Fix For: 0.99.0 > > > Some changes to the interfaces may be needed for DBEs or may be the way it works currently may be need to be modified inorder to make DBEs work with Cells. Suggestions and ideas welcome. -- This message was sent by Atlassian JIRA (v6.2#6252)