[
https://issues.apache.org/jira/browse/HBASE-3584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13188705#comment-13188705
]
[email protected] commented on HBASE-3584:
------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3481/#review4445
-----------------------------------------------------------
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<https://reviews.apache.org/r/3481/#comment9976>
@Lars: Sorry about the late question. I would like to understand the
following case.
What if we crash in between this loop?
Is it possible that we have persisted half the WALEdits, but not gotten to
the rest?
I am concerned, that if that were the case (hopefully not) then on RS
restart, we will replay, a partial list of mutations from "arm".
- Amitanand
On 2012-01-13 17:11:21, Lars Hofhansl wrote:
bq.
bq. -----------------------------------------------------------
bq. This is an automatically generated e-mail. To reply, visit:
bq. https://reviews.apache.org/r/3481/
bq. -----------------------------------------------------------
bq.
bq. (Updated 2012-01-13 17:11:21)
bq.
bq.
bq. Review request for hbase.
bq.
bq.
bq. Summary
bq. -------
bq.
bq. Add API for atomic row mutations to HBase (currently Put and Delete).
bq.
bq. Client API would look like this:
bq. Delete d = new Delete(ROW);
bq. Put p = new Put(ROW);
bq. ...
bq. AtomicRowMutation arm = new AtomicRowMutation(ROW);
bq. arm.add(p);
bq. arm.add(d);
bq. myHtable.mutateAtomically(arm);
bq.
bq.
bq. This addresses bug HBASE-3584.
bq. https://issues.apache.org/jira/browse/HBASE-3584
bq.
bq.
bq. Diffs
bq. -----
bq.
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/AtomicRowMutation.java
PRE-CREATION
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/io/HbaseObjectWritable.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java
1231172
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestAtomicOperation.java
1231172
bq.
bq. Diff: https://reviews.apache.org/r/3481/diff
bq.
bq.
bq. Testing
bq. -------
bq.
bq. * Simple functional test: TestFromClientSide.testAtomicRowMutation
bq. * Multithreaded stress test:
TestAtomicOperation.testAtomicMutationMultiThreads
bq. * coprocessor test: TestRegionObserverInterface.testAtomicRowMutation
bq. * manual testing
bq.
bq.
bq. Thanks,
bq.
bq. Lars
bq.
bq.
> Allow atomic put/delete in one call
> -----------------------------------
>
> Key: HBASE-3584
> URL: https://issues.apache.org/jira/browse/HBASE-3584
> Project: HBase
> Issue Type: New Feature
> Components: client, coprocessors, regionserver
> Reporter: ryan rawson
> Assignee: Lars Hofhansl
> Fix For: 0.94.0
>
> Attachments: 3584-final.txt, 3584-v1.txt, 3584-v3.txt
>
>
> Right now we have the following calls:
> put(Put)
> delete(Delete)
> increment(Increments)
> But we cannot combine all of the above in a single call, complete with a
> single row lock. It would be nice to do that.
> It would also allow us to do a CAS where we could do a put/increment if the
> check succeeded.
> -----
> Amendment:
> Since Increment does not currently support MVCC it cannot be included in an
> atomic operation.
> So this for Put and Delete only.
--
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