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

Gary Helmling commented on HBASE-16115:
---------------------------------------

Yes, I was looking at HBASE-14475 as well while tracing back the origin of 
this.  The context of that seems specific to security auditing of the 
compaction request, which was a valid issue, but I don't think implies any 
expectations of the executing user context for other coprocessors.  I agree 
with the sentiment of it and HBASE-14686, I'm just not sure in hindsight that 
we reached the best implementation.

I think that using an alternate mechanism for conveying that caller context 
would avoid conflicting with the current user and possibly be more consistent 
with the RpcCallContext.  Maybe it would be better to pass through the 
requester as part of the ObserverContext.  That is present for each coprocessor 
hook and already prepared for each upcall.  If anything, this seems like it 
belongs there.  We could even shim in a call to RpcCallContext where 
appropriate so this would consistently provide the requester identity for all 
upcalls.

bq. My concern here is we don't ask Phoenix or other implementations to change 
back and forth for this twice in 0.98.

I generally agree with this as well, but it's your call.


> Missing security context in RegionObserver coprocessor when a 
> compaction/split is triggered manually
> ----------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-16115
>                 URL: https://issues.apache.org/jira/browse/HBASE-16115
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.20
>            Reporter: Lars Hofhansl
>
> We ran into an interesting phenomenon which can easily render a cluster 
> unusable.
> We loaded some tests data into a test table and forced a manual compaction 
> through the UI. We have some compaction hooks implemented in a region 
> observer, which writes back to another HBase table when the compaction 
> finishes. We noticed that this coprocessor is not setup correctly, it seems 
> the security context is missing.
> The interesting part is that this _only_ happens when the compaction is 
> triggere through the UI. Automatic compactions (major or minor) or when 
> triggered via the HBase shell (folling a kinit) work fine. Only the 
> UI-triggered compactions cause this issues and lead to essentially 
> neverending compactions, immovable regions, etc.
> Not sure what exactly the issue is, but I wanted to make sure I capture this.
> [~apurtell], [~ghelmling], FYI.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to