hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10225) Bug in calls to RegionObsever.postScannerFilterRow
Date Mon, 23 Dec 2013 06:04:53 GMT

    [ 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

View raw message