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

Jesus Camacho Rodriguez commented on CALCITE-3999:
--------------------------------------------------

Thanks for looking in detail into this [~zabetak].

>From the top of my head, a few scenarios where I guess the cache may be useful:
- Multitenant deployments with many connections to same RDBMS.
- Reduce latency under network congestion.
- Reduce compilation latency variability (memory vs network access).

What do you think about these? There is probably a trade-off here, but I think 
it is not straightforward to simulate all the possible different scenarios.

> Simplify DialectPool implementation using Guava cache
> -----------------------------------------------------
>
>                 Key: CALCITE-3999
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3999
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Jesus Camacho Rodriguez
>            Assignee: Jesus Camacho Rodriguez
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> JdbcUtils contains a pool to cache SqlDialect objects. Currently, it relies 
> on multiple maps and a synchronized {{get}} method. Although I am not very 
> familiar with that code, it seems the implementation could be made simpler 
> and more efficient by using a Guava cache. In addition, since we would not 
> have a single synchronized get method, multiple threads could concurrently 
> create dialects for distinct data sources.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to