[
https://issues.apache.org/jira/browse/HBASE-10225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13855381#comment-13855381
]
Anoop Sam John commented on HBASE-10225:
----------------------------------------
I can give a simple quick patch..
> Bug in calls to RegionObsever.postScannerFilterRow
> --------------------------------------------------
>
> Key: HBASE-10225
> URL: https://issues.apache.org/jira/browse/HBASE-10225
> Project: HBase
> Issue Type: Bug
> Reporter: Lars Hofhansl
> Fix For: 0.98.0, 0.94.16, 0.96.2, 0.99.0
>
>
> Just noticed that while looking at HBASE-10047.
> In 0.94 (and presumably in trunk, will check later) we have this:
> {code}
> protected boolean nextRow(byte [] currentRow, int offset, short length)
> throws IOException {
> ...
> if (this.region.getCoprocessorHost() != null) {
> return this.region.getCoprocessorHost().postScannerFilterRow(this,
> currentRow);
> }
> return true;
> }
> {code}
> Notice how we only pass currentRow into the coprocessor, but not offset and
> length. Anything using this hook currently is 100% broken. The hook was added
> in 0.94.5 (HBASE-5664), it never worked correctly.
> [~anoopsamjohn], you had added the hook. Do you still need it?
> We can either remove it (I'd prefer that in the light of the performance
> issued observed in HBASE-10047, we can leave the stub in BaseRegionObserver
> in 0.94, but document that it is no-op), or we'd have to have change its
> signature to be able to pass offset and length as well.
> Since nobody noticed nobody is using this hook currently, so both should be
> valid options.
> (Making a new standalone copy of the rowkey just to pass into this method
> absolutely out of the question for performance reasons).
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)