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

Abhishek Singh Chouhan commented on HBASE-18127:
------------------------------------------------

[~gjacoby] The place i left this at was that although it is possible to come up 
with a Executor implementation that takes care of transferring RpcCall between 
the caller thread and the one that will take up further execution, going that 
route would mean changing all existing such cases and replacing the executor 
with our own. In case there are places that simply end up creating another 
thread and calling further hooks from there, that would need another kind of 
handling or replacing those with custom executor based mechanism. We also need 
to think about the fact that further development on the code base would require 
that only these custom Executors that transfer necessary threadlocals between 
threads should be the only ones used, atleast when interacting with cp hooks, 
i'm not sure how feasible and error-free this would be(missing this would 
result in the state vanishing between some hooks :)).

> Enable state to be passed between the region observer coprocessor hook calls
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-18127
>                 URL: https://issues.apache.org/jira/browse/HBASE-18127
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Lars Hofhansl
>            Assignee: Abhishek Singh Chouhan
>            Priority: Major
>         Attachments: HBASE-18127.master.001.patch, 
> HBASE-18127.master.002.patch, HBASE-18127.master.002.patch, 
> HBASE-18127.master.003.patch, HBASE-18127.master.004.patch, 
> HBASE-18127.master.005.patch, HBASE-18127.master.005.patch, 
> HBASE-18127.master.006.patch
>
>
> Allow regionobserver to optionally skip postPut/postDelete when 
> postBatchMutate was called.
> Right now a RegionObserver can only statically implement one or the other. In 
> scenarios where we need to work sometimes on the single postPut and 
> postDelete hooks and sometimes on the batchMutate hooks, there is currently 
> no place to convey this information to the single hooks. I.e. the work has 
> been done in the batch, skip the single hooks.
> There are various solutions:
> 1. Allow some state to be passed _per operation_.
> 2. Remove the single hooks and always only call batch hooks (with a default 
> wrapper for the single hooks).
> 3. more?
> [~apurtell], what we had discussed a few days back.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to