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

ramkrishna.s.vasudevan commented on HBASE-5617:
-----------------------------------------------

Pls review the patch.  This patch also adds additional hooks to the 
doMiniBatchPut.

We found some gaps in the coprocessor hooks available and hence added the new 
hooks.
For eg, the preBatchPut hook will help us to do any puts after the timestamp is 
updated in the kv and it will be called once with all the current puts that has 
acquired the locks.

The postBatchPut hook is needed before the completeMemStoreInsert so that any 
new puts we do using the hooks can also adhere to the principles of mvcc. 

Similarly a final hook is also introduced so that any clean up operation can be 
done.
Rollback memstore is also needed with a hook.
Pls feel free to comment on the new hooks added.  
If only rollback memstore hook is needed then i will prepare a patch with that 
alone. 
This is just a version so that folks can get an idea on what has been added and 
where it has been added.

                
> Provide coprocessor hooks in put flow while rollbackMemstore.
> -------------------------------------------------------------
>
>                 Key: HBASE-5617
>                 URL: https://issues.apache.org/jira/browse/HBASE-5617
>             Project: HBase
>          Issue Type: Improvement
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5617_1.patch
>
>
> With coprocessors hooks while put happens we have the provision to create new 
> puts to other tables or regions.  These puts can be done with writeToWal as 
> false.
> In 0.94 and above the puts are first written to memstore and then to WAL.  If 
> any failure in the WAL append or sync the memstore is rollbacked.  
> Now the problem is that if the put that happens in the main flow fails there 
> is no way to rollback the 
> puts that happened in the prePut.
> We can add coprocessor hooks to like pre/postRoolBackMemStore.  Is any one 
> hook enough here?

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