phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-3611) ConnectionQueryService cache should expire LRU entries
Date Wed, 25 Jan 2017 22:42:26 GMT


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:
>             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,
> 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

View raw message