phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <>
Subject [jira] [Resolved] (PHOENIX-624) Changes metadata caches to be LRU
Date Fri, 02 May 2014 04:58:15 GMT


James Taylor resolved PHOENIX-624.

       Resolution: Fixed
    Fix Version/s: 5.0.0

> Changes metadata caches to be LRU
> ---------------------------------
>                 Key: PHOENIX-624
>                 URL:
>             Project: Phoenix
>          Issue Type: Task
>    Affects Versions: 3.0-Release
>            Reporter: elevine
>            Assignee: James Taylor
>             Fix For: 3.0.0, 4.0.0, 5.0.0
> From @jamestaylor: There are two metadata caches in the system: one on the server side
maintained by MetaDataEndpointImpl, the other on the client side maintained by PMetaDataImpl.
In this multi tenant scheme, we'll need to change those to be LRU caches, as they're currently
allowed to grow unbounded. The server side cache will scan the SYSTEM.TABLE on a cache miss
and the client side will ask the server for a PTable it doesn't find, so making them be an
LRU cache should not be too difficult.  To switch to an LRU cache on the server-side, just
change the GlobalCache metaDataCacheMap member variable from ConcurrentHashMap to a Guava
Cache. To change on the client-side, change the PMetaDataImpl metaData member variable from
a Map to a Cache. In both cases create a new config property that will drive a size-based
eviction policy.

This message was sent by Atlassian JIRA

View raw message