[
https://issues.apache.org/jira/browse/HBASE-7482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13592500#comment-13592500
]
James Kinley commented on HBASE-7482:
-------------------------------------
In addition to the TableMapReduceUtil change, 'hbase.cluster.id' has to be
reset in HConnectionImplementation to ensure that it's HBaseClient instance has
the correct 'clusterId' set and therefore the correct token is selected when
setting up the Connection.
> Port HBASE-7442 HBase remote CopyTable not working when security enabled to
> trunk
> ---------------------------------------------------------------------------------
>
> Key: HBASE-7482
> URL: https://issues.apache.org/jira/browse/HBASE-7482
> Project: HBase
> Issue Type: Bug
> Reporter: Ted Yu
> Assignee: James Kinley
> Priority: Critical
> Fix For: 0.95.0
>
> Attachments: HBASE-7482-trunk.patch
>
>
> Excerpt about the choice of solution from :
> The first option was actually quite messy to implement. {{clusterId}} and
> {{conf}} are fixed in *{{HBaseClient}}* when it's created and cached by
> *{{SecureRpcEngine}}*, so to implement the fix here I would have had to pass
> the different cluster {{confs}} up through *{{HConnectionManager}}* and
> *{{HBaseRPC}}* in order to override the clusterId in
> *{{SecureClient#SecureConnection}}*.
> I've gone with the second option of creating and caching different
> *{{SecureClients}}* for the local and remote clusters in
> *{{SecureRpcEngine}}* - keyed off of the {{clusterId}} instead of the default
> *{{SocketFactory}}*. I think this is a cleaner solution.
--
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