[
https://issues.apache.org/jira/browse/PHOENIX-3611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15838742#comment-15838742
]
Andrew Purtell commented on PHOENIX-3611:
-----------------------------------------
LRU cache expiration with long default interval (presumably) is meant to catch
slow leaks over time. Eviction policies won't help for fast allocators. By that
point we've already allocated resources, probably allowed some work over the
connection. For fast/abusive allocators I think we want an admission policy. I
suggested elsewhere a token bucket based admission control feature. It's a
different scope from this JIRA.
Committing the addendum soon, unless objection.
> 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
> Fix For: 4.10.0
>
> Attachments: PHOENIX-3611.patch, PHOENIX-3611-v2.patch,
> PHOENIX-3611-v3.patch, PHOENIX-3611-v4.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)