[
https://issues.apache.org/jira/browse/HBASE-10225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13855420#comment-13855420
]
Lars Hofhansl commented on HBASE-10225:
---------------------------------------
Wow. You guys are fast, I was just about to post a patch for the same.
bq. This will be called when the filter filters out the row. So your test is
like filtering out most of the rows Lars?
Exactly. The scenario under which this is an issue is not common though (most
rows filters and very tall tables).
> 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
>
> Attachments: HBASE-10225.patch
>
>
> 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)