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

Lars Hofhansl commented on HBASE-3584:
--------------------------------------

I noticed that there is a hole in my logic when faced with region server 
failures.

Since the WALEdits are applied to the WAL piece by piece what can happen is 
that the region server applied the WALEdits of some of the mutations, and then 
dies before it can apply the edits of the other mutations. The fact that the 
MVCC write point was not forwarded by the first region server is irrelevant for 
this.

The region server who is picking up the region will replay those edit and hence 
clients picking up the KVs from the recovering region server will see the 
operation partially applied.

Other operation (Increment/Append) also have correctness issues (albeit 
different) in failure scenarios.

Filed HBASE-5203. Work on this would not be trivial. What's the general 
feeling: Disable this feature until this is fixed? Or leave it is, since it is 
in principle not safer than Increment or ICV?

                
> 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

        

Reply via email to