[
https://issues.apache.org/jira/browse/HBASE-11919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anoop Sam John updated HBASE-11919:
-----------------------------------
Resolution: Fixed
Release Note:
Removed the below 2 hooks from RegionObserver CP. These were deprecated since
0.96 and having replacement
1. preGet(final ObserverContext<RegionCoprocessorEnvironment> c, final Get get,
final List<KeyValue> result)
2. postGet(final ObserverContext<RegionCoprocessorEnvironment> c, final Get
get, final List<KeyValue> result)
These are replaced with pre/postGetOp hooks
Hadoop Flags: Reviewed
Status: Resolved (was: Patch Available)
Pushed to master and branch-1. Hope this is fine [~enis]. Thanks all for the
reviews.
> 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)