[
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)