Github user ben-manes commented on the issue:

    https://github.com/apache/jmeter/pull/221
  
    > There is only 1 contributor to this library, so I am not a fan.
    
    Please note that CLHM was the precursor to Guava's Cache. While now 
dormant, its robustness can be attested to by many projects such as Cassandra, 
Grails, and Neo4j. Due to its small size, many opted to shade it such as Camel, 
Apache Cayenne, and OmniFaces.
    
    But its purely an LRU cache using the Map interface. Features like 
expiration, self-populating, etc. were delegated to decorators. This was 
because a concurrent LRU is surprisingly hard due to every read modifying 
global state, so it took 2 years of experiments before stumbling on the right 
ideas. Then Guava took advantage to push the feature envelope and provide a 
complete caching abstraction.
    
    Guava does have a good deprecation strategy (min 2 years notice). However 
Hadoop has a poor dependency strategy due to running user supplied jars within 
its classloader. This lack of isolation causes users to blame Guava, though 
shading (either by Hadoop or user's) would be an easy resolution.
    
    If you're debating between CLHM, Guava, or Caffeine then you'll probably 
end up having any bugs fixed by the same developer. Though hopefully by now 
they've all had enough usage to smooth out the issues.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to