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)

Reply via email to