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

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

Hmm... Somehow I have to indicate that coprocessor hooks are executed by the 
caller.
In the special case of mutateAtomically the caller has to handle the 
coprocessor hooks (to avoid deadlocks).

If coprocessorHost != null and this is a call from mutateAtomically we cannot 
instantiate the WALEdit locally, because it is needed by the coprocessor hooks 
(who could change it).

walEdit is the one passed in, it is null unless the call is from 
mutateAtomically.
The one actually used is localWalEdit. Maybe I should rename walEdit to 
passedWalEdit?

                
> We need to atomically put/delete/increment in one call
> ------------------------------------------------------
>
>                 Key: HBASE-3584
>                 URL: https://issues.apache.org/jira/browse/HBASE-3584
>             Project: HBase
>          Issue Type: Bug
>          Components: client, coprocessors, regionserver
>            Reporter: ryan rawson
>            Assignee: Lars Hofhansl
>             Fix For: 0.94.0
>
>         Attachments: 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.

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