You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Tak-Lon (Stephen) Wu (Jira)" <ji...@apache.org> on 2021/08/26 17:03:00 UTC
[jira] [Created] (HBASE-26226) Make RpcConnection with
transient/non-Singleton SaslClientAuthenticationProviders with repsecting
the passing configuration object
Tak-Lon (Stephen) Wu created HBASE-26226:
--------------------------------------------
Summary: 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
Reporter: Tak-Lon (Stephen) Wu
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)