[
https://issues.apache.org/jira/browse/HBASE-11919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14127391#comment-14127391
]
Enis Soztutar commented on HBASE-11919:
---------------------------------------
This should be ok for branch-1. Thanks Anoop.
> Remove the deprecated pre/postGet CP hook
> -----------------------------------------
>
> Key: HBASE-11919
> URL: https://issues.apache.org/jira/browse/HBASE-11919
> Project: HBase
> Issue Type: Sub-task
> Components: Coprocessors, regionserver
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 0.99.0, 2.0.0
>
> Attachments: HBASE-11919.patch
>
>
> These hooks, dealing with List<KeyValue>, were deprecated since 0.96. We have
> 0.98, one more major version after that. Suggest this can be removed from
> 0.99 time.
> The impl in BaseRegionObserver is as below which can be very inefficient
> especially when we read from a DBE files. There we return not KeyValue but a
> new Cell impl (here by avoiding the need to copy value bytes) The
> KeyValueUtil.ensureKeyValue can kill this nice optimization if we come across
> this.
> {code}
> public void preGetOp(final ObserverContext<RegionCoprocessorEnvironment> e,
> final Get get, final List<Cell> results) throws IOException {
> // By default we are executing the deprecated preGet to support legacy
> RegionObservers
> // We may use the results coming in and we may return the results going
> out.
> List<KeyValue> kvs = new ArrayList<KeyValue>(results.size());
> for (Cell c : results) {
> kvs.add(KeyValueUtil.ensureKeyValue(c));
> }
> preGet(e, get, kvs);
> results.clear();
> results.addAll(kvs);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)