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:55:54 UTC

[jira] [Created] (HBASE-10225) Bug is calls to RegionObsever.postScannerFilterRow

Lars Hofhansl created HBASE-10225:
-------------------------------------

             Summary: Bug is calls to RegionObsever.postScannerFilterRow
                 Key: HBASE-10225
                 URL: https://issues.apache.org/jira/browse/HBASE-10225
             Project: HBase
          Issue Type: Bug
            Reporter: Lars Hofhansl


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)