You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2016/08/17 03:43:21 UTC

[jira] [Created] (PHOENIX-3189) HBase/ZooKeeper connection leaks when providing principal/keytab in JDBC url

Josh Elser created PHOENIX-3189:
-----------------------------------

             Summary: HBase/ZooKeeper connection leaks when providing principal/keytab in JDBC url
                 Key: PHOENIX-3189
                 URL: https://issues.apache.org/jira/browse/PHOENIX-3189
             Project: Phoenix
          Issue Type: Bug
            Reporter: Josh Elser
            Assignee: Josh Elser
            Priority: Blocker
             Fix For: 4.8.1


We've been doing some more testing after PHOENIX-3126 and, with the help of [~arpitgupta] and [~harsha_ch], we've found an issue in a test between Storm and Phoenix.

Storm was configured to create a JDBC Bolt, specifying the principal and keytab in the JDBC URL, relying on PhoenixDriver to do the Kerberos login for them. After PHOENIX-3126, a ZK server blacklisted the host running the bolt, and we observed that there were over 140 active ZK threads in the JVM.

This results in a subtle change where every time the client tries to get a new Connection, we end up getting a new UGI instance (because the {{ConnectionQueryServicesImpl#openConnection()}} always does a new login).

If users are correctly caching Connections, there isn't an issue (best as I can presently tell). However, if users rely on the getting the same connection every time (the pre-PHOENIX-3126), they will saturate their local JVM with connections and crash.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)