ajantha-bhat commented on a change in pull request #3580: [CARBONDATA-3665] 
Support TimeBased Cache expiration using Guava Cache
URL: https://github.com/apache/carbondata/pull/3580#discussion_r371041664
 
 

 ##########
 File path: 
core/src/main/java/org/apache/carbondata/core/cache/CarbonLRUCache.java
 ##########
 @@ -43,10 +45,11 @@
   private static final Logger LOGGER =
       LogServiceFactory.getLogService(CarbonLRUCache.class.getName());
   /**
-   * Map that will contain key as table unique name and value as cache Holder
+   * Guava cache that holds key as table unique name and value as cache Holder
    * object
    */
-  private Map<String, Cacheable> lruCacheMap;
+  private Cache<String, Cacheable> lruCacheMap;
 
 Review comment:
   @jackylk , @ravipesala : what do you think ?
   
   @Indhumathi27 : I still think we must have **entry level expiry**, just 
removing all the cache after certain time is not so useful as cache need to be 
loaded again ?
   
   check this guava issue for the same 
([here](https://github.com/google/guava/issues/1203))
   I just checked on internet and I found 2 alternatives (under apache license) 
that supports entry level expiry.
   a. [caffeine](https://github.com/ben-manes/caffeine) -- This is on top of 
guava as they support guava adaptor
   b. [expiringmap](https://github.com/jhalterman/expiringmap) -- This is 
widely used by many companies in their project. see 
[here](https://github.com/jhalterman/expiringmap/wiki/Who's-Using-ExpiringMap). 
I guess we can use this one.
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to