You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2013/12/23 05:57:54 UTC

[jira] [Updated] (HBASE-10225) Bug in calls to RegionObsever.postScannerFilterRow

     [ https://issues.apache.org/jira/browse/HBASE-10225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Hofhansl updated HBASE-10225:
----------------------------------

    Summary: Bug in calls to RegionObsever.postScannerFilterRow  (was: Bug is calls to RegionObsever.postScannerFilterRow)

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