You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2017/10/06 17:18:00 UTC

[jira] [Created] (CALCITE-2003) Avoid global synchronization around openConnection in JdbcMeta

Josh Elser created CALCITE-2003:
-----------------------------------

             Summary: Avoid global synchronization around openConnection in JdbcMeta
                 Key: CALCITE-2003
                 URL: https://issues.apache.org/jira/browse/CALCITE-2003
             Project: Calcite
          Issue Type: Bug
          Components: avatica
            Reporter: Josh Elser
            Assignee: Josh Elser
             Fix For: avatica-1.11.0


Had a report from a user where opening new connections to Avatica were stuck. Upon investigation, there was a single thread which had grabbed the local on the JdbcMeta instance in {{JdbcMeta#openConnection(ConnectionHandle)}}, but was not returning out of the {{DriverManager.getConnection(...)}} call.

Using the {{ConcurrentMap}} API over the Guava {{Cache}} API gives us enough flexibility that we can handle this safely without the total synchronization.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)