[
https://issues.apache.org/jira/browse/HBASE-26226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tak-Lon (Stephen) Wu updated HBASE-26226:
-----------------------------------------
Affects Version/s: 2.5.0
3.0.0-alpha-1
2.4.5
> Make RpcConnection with transient/non-Singleton
> SaslClientAuthenticationProviders with repsecting the passing configuration
> object
> -----------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-26226
> URL: https://issues.apache.org/jira/browse/HBASE-26226
> Project: HBase
> Issue Type: Improvement
> Components: Client, rpc
> Affects Versions: 3.0.0-alpha-1, 2.5.0, 2.4.5
> Reporter: Tak-Lon (Stephen) Wu
> Priority: Major
>
> When a RPC connection was created from any table connection (e.g. via
> {{ConnectionFactory.createConnection(conf)}}), the
> [SaslClientAuthenticationProviders|(https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcConnection.java#L99-L101]
> that matches different authentication selector per-user/TOKEN as the
> [singleton
> object|https://github.com/apache/hbase/blob/735bcf85e9b59a71981babe2f5da51978d61d8d3/hbase-client/src/main/java/org/apache/hadoop/hbase/security/provider/SaslClientAuthenticationProviders.java#L72-L83]
> and reuses for any followup connection creation.
> If user want to create another connection with a different configuration key
> that the authentication selector may use, e.g. [if one want to switch between
> secure and non-secure
> connection|https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/security/provider/BuiltInProviderSelector.java#L109-L111],
> it cannot be done because of the cached singleton instance of
> AuthenticationProviders.
> the goal of this JIRA is to allow the RpcConnection and
> AuthenticationProviders align with whatever passing configuration object
--
This message was sent by Atlassian Jira
(v8.3.4#803005)