[
https://issues.apache.org/jira/browse/HBASE-3433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13148690#comment-13148690
]
Lars Hofhansl commented on HBASE-3433:
--------------------------------------
How's this?
{code}
/**
* Give the filter a chance to transform the passed KeyValue.
* If the KeyValue is changed a new KeyValue object must be returned.
* @see org.apache.hadoop.hbase.KeyValue#shallowCopy()
*
* The transformed KeyValue is what is eventually returned to the
* client. Most filters will return the passed KeyValue unchanged.
* @see org.apache.hadoop.hbase.filter.KeyOnlyFilter#transform(KeyValue)
* for an example of a transformation.
*
* @param v the KeyValue in question
* @return the changed KeyValue
*/
public KeyValue transform(KeyValue v);
{code}
> Remove the KV copy of every KV in Scan; introduced by HBASE-3232 (why doesn't
> keyonlyfilter make copies rather than mutate -- HBASE-3211)?
> ------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-3433
> URL: https://issues.apache.org/jira/browse/HBASE-3433
> Project: HBase
> Issue Type: Improvement
> Components: performance, regionserver
> Reporter: stack
> Assignee: Lars Hofhansl
> Priority: Critical
> Fix For: 0.94.0
>
> Attachments: 3433-v2.txt, 3433.txt, HBASE-3433-sidenote.patch
>
>
> Here is offending code from inside in StoreScanner#next:
> {code}
> // kv is no longer immutable due to KeyOnlyFilter! use copy for safety
> KeyValue copyKv = new KeyValue(kv.getBuffer(), kv.getOffset(),
> kv.getLength());
> {code}
> This looks wrong given philosophy up to this has been avoidance of
> garbage-making copies.
> Maybe this has been looked into before and this is the only thing to be done
> but why is KeyOnlyFilter not making copies rather than mutating originals?
> Making this critical against 0.92.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira