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