[ 
https://issues.apache.org/jira/browse/HBASE-3433?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicolas Spiegelberg updated HBASE-3433:
---------------------------------------

    Attachment: HBASE-3433-sidenote.patch

minor API refactoring to add a deepCopy and a shallowCopy function to KV for 
clarity.  I guess you guys are the ones to fix this problem, but I really think 
that, beyond clarifying this section, the rest of the change for this jira is 
minor pri.

> 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
>            Priority: Critical
>             Fix For: 0.92.0
>
>         Attachments: 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.
-
You can reply to this email to add a comment to the issue online.

Reply via email to