Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
-
None
-
None
Description
PHOENIX-3189 fixed some logic in construction of a ConnectionInfo to, when requested by the user, perform the Kerberos login and then construct and cache the ConnectionInfo->ConnectionQueryServices pair.
This approach only works when the principal that the user provides in the JDBC url is exactly what UGI returns as the short name. Logically equivalent principals will result in re-logging in each time and leaking ConnectionQueryService instances (and thus HConnection and ZooKeeper objects).
For example, with Kerberos principals there is a default realm which is implied by krb5.conf when not explicitly provided. Thus: elserj and elserj@APACHE would be considered logically equivalent (when the default realm is "APACHE"). We should expand the isSameName check in ConnectionInfo to be a bit smarter.
Attachments
Attachments
Issue Links
- is related to
-
PHOENIX-3189 HBase/ZooKeeper connection leaks when providing principal/keytab in JDBC url
- Closed