You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2014/05/02 06:58:15 UTC

[jira] [Resolved] (PHOENIX-624) Changes metadata caches to be LRU

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

James Taylor resolved PHOENIX-624.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0.0
                   4.0.0
                   3.0.0

> Changes metadata caches to be LRU
> ---------------------------------
>
>                 Key: PHOENIX-624
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-624
>             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
(v6.2#6252)