[ 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)