hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12068) [Branch-1] Avoid need to always do KeyValueUtil#ensureKeyValue for Filter transformCell
Date Wed, 24 Sep 2014 01:15:34 GMT

    [ https://issues.apache.org/jira/browse/HBASE-12068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14145735#comment-14145735

Anoop Sam John commented on HBASE-12068:

bq.On commit add comment to each instance where you are doing this pass-through. Otherwise
I see folks looking at it and just being stumped why. Add release note. I added note to our
1.0 issue that we need to call this one out in release notes: "If you have written your own
Thanks for the review Stack & Enis.
Yes PHOENIX-1282 is the issue in Phoenix side for the followup there.  In Phoenix master will
have to do. 4.0 is based on 0.98 and there all are KeyValues any way.

> [Branch-1] Avoid need to always do KeyValueUtil#ensureKeyValue for Filter transformCell
> ---------------------------------------------------------------------------------------
>                 Key: HBASE-12068
>                 URL: https://issues.apache.org/jira/browse/HBASE-12068
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Filters
>    Affects Versions: 0.99.0
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 0.99.1
>         Attachments: HBASE-12068.patch
> During read with Filters added to Scan/Get, the core code calls transformCell(Cell) on
the Filter. Most of the filters do not implement transform API so the method from FilterBase
will get executed
> {code}
>   @Override
>   public Cell transformCell(Cell v) throws IOException {
>     // Old filters based off of this class will override KeyValue transform(KeyValue).
>     // Thus to maintain compatibility we need to call the old version.
>     return transform(KeyValueUtil.ensureKeyValue(v));
>   }
> {code}
> Here always it do KeyValueUtil.ensureKeyValue.  When a non KV cell comes in, we need
recreate KV and do deep copy of key and value!
> We have to stick with this model in branch-1 for BC.
> So as a workaround to avoid possible KV convert, we can implement transformCell(Cell)
method in all of our individual Filter classes which just return the incoming cell (So that
method from FilterBase wont get executed)

This message was sent by Atlassian JIRA

View raw message