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

Anoop Sam John commented on HBASE-4210:
---------------------------------------

The problems we faced with prePut() during the analysis for the secondary index
1. This is not considering the mini batch nature. Hook for all the Puts called 
at once at the 1st step itself
2. Not able to know what is the TS which will be used for each of the Put(If no 
explicit TS in put from client side, then we calculate it at RS at some below 
lines)
....
Now which will be the suitable location for this new hook...!!
I suggest pre hook to be in doMiniBatchMutation() just before "STEP 3. Write 
back to memstore".  This place ensures the MVCC consistency.  Row lock is 
already hold at this point so the CP implementation to be careful not making 
the system into a dead lock situation. Well we can clearly warn this in doc I 
guess.
The post hook can be before  "STEP 8. Advance mvcc."

As per the usecase in secondary index I am giving these suggestions


                
> Allow coprocessor to interact with batches per region sent from a client(?)
> ---------------------------------------------------------------------------
>
>                 Key: HBASE-4210
>                 URL: https://issues.apache.org/jira/browse/HBASE-4210
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Lars Hofhansl
>            Assignee: Anoop Sam John
>            Priority: Minor
>
> Currently the coprocessor write hooks - {pre|post}{Put|Delete} - are strictly 
> one row|cell operations.
> It might be a good idea to allow a coprocessor to deal with batches of puts 
> and deletes as they arrive from the client.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to