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 B401E17BFE for ; Fri, 17 Apr 2015 19:38:00 +0000 (UTC) Received: (qmail 73077 invoked by uid 500); 17 Apr 2015 19:38:00 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 73019 invoked by uid 500); 17 Apr 2015 19:38:00 -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 73006 invoked by uid 99); 17 Apr 2015 19:38:00 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Apr 2015 19:38:00 +0000 Date: Fri, 17 Apr 2015 19:38:00 +0000 (UTC) From: "stack (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-13448) New Cell implementation with cached component offsets/lengths 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-13448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14500517#comment-14500517 ] stack commented on HBASE-13448: ------------------------------- I think this issue is actually a critical part of our moving to Cell. + Currently, our KeyValue comparators do a bunch of 'carry-over' of calculated lengths -- e.g. key, value, row, family, etc., lengths -- from method to method so we don't have to recalc each time (because reparse costs CPU). + Moving to the Cell Interface and CellComparator, Cell does not expose means for passing 'carry-over's, and besides, carry-overs only boost parse when the Cell is serialized as our KeyValue is now (they may help when the serialization format is otherwise, but may also be of no use). + The CellComparator patch over in HBASE-10800 which replaces all KeyValueComparators with CellComparator currently preserves methods that take 'carry-over', methods that won't make much sense when the serialization is other than current KeyValue. + We will need to remove all the carry-over methods in CellComparator to undo our explicit dependence on KeyValue serialization. Having the Cell internally do the caching rather than have the caller call the appropriate methods with a carry-over will be the way to go going forward. Cell knows best what needs caching. > New Cell implementation with cached component offsets/lengths > ------------------------------------------------------------- > > Key: HBASE-13448 > URL: https://issues.apache.org/jira/browse/HBASE-13448 > Project: HBase > Issue Type: Sub-task > Components: Scanners > Reporter: Anoop Sam John > Assignee: Anoop Sam John > Attachments: HBASE-13448.patch, gc.png, hits.png > > > This can be extension to KeyValue and can be instantiated and used in read path. -- This message was sent by Atlassian JIRA (v6.3.4#6332)