[
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