Josh Elser created PHOENIX-3891:
-----------------------------------

             Summary: ConnectionQueryServices leak on auto-Kerberos-login 
without REALM in URL
                 Key: PHOENIX-3891
                 URL: https://issues.apache.org/jira/browse/PHOENIX-3891
             Project: Phoenix
          Issue Type: Bug
            Reporter: Josh Elser
            Assignee: Josh Elser
            Priority: Critical
             Fix For: 4.11.0


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.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to