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

Phabricator updated HBASE-5515:
-------------------------------

    Attachment: HBASE-5515.D2067.15.patch

sc updated the revision "HBASE-5515 [jira] Add a processRow API that supports 
atomic multiple reads and writes on a row".
Reviewers: tedyu, dhruba, JIRA

  Addressed Lars and Ted's comments

  @tedyu: I changed reference count to 31 and long count to 6.

  This is because we have added the following two things
  long rowProcessorTimeout
  RowProcessor.RowScanner rowScanner


  @lhofhansl: I have made most of the changes you suggested. Thanks!

  I tried to put RowProcessor into ProcessRowEndpoint.
  With that approach, we will need multiple CoprocessorProtocol. One for each 
implementation of RowProcessor.
  Because the implementation of the RowProcessor is now passed by the protocol 
class name instead of the Writable.

  For example, in our unit test, we have to do
  ---------------
  FriendsOfFriendsProtocol p =
    table.coprocessorProxy(FriendsOfFriendsProtocol.class, row);
  p.processRow();
  ---------------
  And the unit test needs to provide both FriendsOfFriendsProtocol and 
FriendsOfFriendsEndpoint.
  I feel this is not very convenient. I still prefer to pass the RowProcessor 
information via a Writable.

  The other thought is that the user of RowProcessor is actually HRegion.
  But ProcessRowEndpoint is used by the client via coprocessor.
  I feel that it would be nice to have them separated instead of listing their 
methods together.

  What do you think?

REVISION DETAIL
  https://reviews.facebook.net/D2067

AFFECTED FILES
  src/main/java/org/apache/hadoop/hbase/coprocessor/ProcessRowEndpoint.java
  src/main/java/org/apache/hadoop/hbase/coprocessor/ProcessRowProtocol.java
  src/main/java/org/apache/hadoop/hbase/coprocessor/RowProcessor.java
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
  src/test/java/org/apache/hadoop/hbase/coprocessor/TestProcessRowEndpoint.java

                
> 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.15.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

        

Reply via email to