[ https://issues.apache.org/jira/browse/HBASE-12068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14188134#comment-14188134 ]
Hudson commented on HBASE-12068: -------------------------------- SUCCESS: Integrated in HBase-TRUNK #5714 (See [https://builds.apache.org/job/HBase-TRUNK/5714/]) Add note to upgrade section on HBASE-12068; i.e. things to do if you have custom filters (stack: rev 3a9cf5b2cdc3c3d24a085b3a4d4c289dcce09766) * src/main/docbkx/upgrading.xml > [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 (v6.3.4#6332)