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

Duo Zhang commented on HBASE-28321:
-----------------------------------

I think for server principal, we could do something like [~bharathv] proposed 
on HBASE-25051 to solve this problem, i.e, to get the information through 
connection setup.

For ClusterId, it is more like a cluster wide configuration, so usually we want 
to initialize it when creating the RpcClient, not a RpcConnection, I believe 
that is also part of the reason that why the work there finally hung for a long 
time.

But for server principal, I think it is OK to return it before starting sasl 
negotiate, but the problem is how to do this in a backward compatible way.

Will be back soon after I find out some ways.

Thanks.

> RpcConnectionRegistry is broken when security is enabled and we use different 
> principal for master and region server
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-28321
>                 URL: https://issues.apache.org/jira/browse/HBASE-28321
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client, IPC/RPC, security
>            Reporter: Duo Zhang
>            Priority: Critical
>
> After introducing RpcConnectionRegistry, we let master and region server both 
> implement ClientMetaService.
> In our current client architecture, when security is enabled, we rely on the 
> record in SecurityInfo to determine the server principal to use, 
> unfortunately there is only one principal can be specified, so if we use 
> different principal for master and region server, either we can not connect 
> to master, or we can not connect to region server.
> And just changing the server principal field in SecurityInfo to an array can 
> not solve the problem, as when connecting, we do not know whether the remote 
> server is a master or region server, so we still can not determine which 
> principal to use...
> Anyway, since this has been in our code base since 2.5.0, it is not a new 
> problem, so just set it as critical, not a blocker. But we should find out 
> the solution ASAP.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to