hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phabricator (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5515) Add a processRow API that supports atomic multiple reads and writes on a row
Date Tue, 06 Mar 2012 05:59:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-5515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13223013#comment-13223013

Phabricator commented on HBASE-5515:

lhofhansl has commented on the revision "HBASE-5515 [jira] Add a processRow API that supports
atomic multiple reads and writes on a row".

  Fair enough on doing this in another jira.
  Looking at this jira, though, I realize you're almost there.

  The coprocessor endpoint itself can implement RowProcessor and then pass itself to HRegion.processRow.
That way all class loading is done by the coprocessor framework.

  See inline comments below.

  src/main/java/org/apache/hadoop/hbase/coprocessor/RowProcessor.java:44 Wanna have a RowProcessor
interface and make this BaseRowProcessor (which of course would implement RowProcessor)?
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java:4372 Nice
  src/main/java/org/apache/hadoop/hbase/coprocessor/ProcessRowEndpoint.java:54 Since this
is for a single row (and hence for a single region) clients should just use the coprocessorProxy
  RowProcessorProtocol p = table.coprocessorProxy(RowProcessorProtocol.class, myRow);

  But see above, this method might not even be necessary.
  src/main/java/org/apache/hadoop/hbase/coprocessor/ProcessRowEndpoint.java:41 Rather than
having a method that requires another object passed (for which the class needs to be registered
at all regionservers, etc). The endpoint itself could have the process method on it.
  A client would then only have to deploy the coprocessor (a different one for each type of
operation, but that is less effort than a separate class for each operation, as coprocessors
already implement the right class loading.)
  src/main/java/org/apache/hadoop/hbase/coprocessor/ProcessRowEndpoint.java:44 I.e. here the
coprocessor would pass itself.


> Add a processRow API that supports atomic multiple reads and writes on a row
> ----------------------------------------------------------------------------
>                 Key: HBASE-5515
>                 URL: https://issues.apache.org/jira/browse/HBASE-5515
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Scott Chen
>            Assignee: Scott Chen
>         Attachments: HBASE-5515.D2067.1.patch, HBASE-5515.D2067.10.patch, HBASE-5515.D2067.11.patch,
HBASE-5515.D2067.12.patch, HBASE-5515.D2067.13.patch, HBASE-5515.D2067.14.patch, HBASE-5515.D2067.2.patch,
HBASE-5515.D2067.3.patch, HBASE-5515.D2067.4.patch, HBASE-5515.D2067.5.patch, HBASE-5515.D2067.6.patch,
HBASE-5515.D2067.7.patch, HBASE-5515.D2067.8.patch, HBASE-5515.D2067.9.patch
> We have modified HRegion.java internally to do some atomic row processing. It will be
nice to have a plugable API for this.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message