[ 
https://issues.apache.org/jira/browse/PHOENIX-3611?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Geoffrey Jacoby updated PHOENIX-3611:
-------------------------------------
    Attachment: PHOENIX-3611.patch

Switched the ConcurrentHashMap that caches ConnectionQueryServices in 
PhoenixDriver to use a Guava Cache instead. HadoopQA will probably complain 
about not touching a test, but this code and its concurrency is already 
exercised in PhoenixMetricsIT

> ConnectionQueryService cache should expire LRU entries
> ------------------------------------------------------
>
>                 Key: PHOENIX-3611
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3611
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 4.8.0, 4.9.0
>            Reporter: Geoffrey Jacoby
>            Assignee: Geoffrey Jacoby
>         Attachments: PHOENIX-3611.patch
>
>
> Currently the cache of ConnectionInfo/ConnectionQueryServicesImpl can hold 
> its entries forever. This can potentially lead to orphan cache entries, and 
> since each ConnectionQueryServicesImpl object has an HConnection, it can also 
> lead to leaked connections. 
> Due to the way that ConnectionInfo hashing works (see PHOENIX-3126 and 
> PHOENIX-3607), this is particularly likely on a secure cluster. 
> The cache should be changed into an LRU-style cache with a fixed size and 
> gradual expiration. 



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

Reply via email to