dcache
dcache copied to clipboard
Use Caffeine instead of Guava for caching.
Motivation: Work towards #4087
Modification: Replace's Guava's caching with Caffeine. Caffeine is the google-supported alternative to guava's caches, that importantly uses CompletableFutures instead of ListenableFutures. Guava does not plan to ever add this support and only does bug-fixes for Guava's caches.
It's important to remember, that the 'async' terminology used in Guava/Caffeine varies from the JDK's 'async' terminology. As such some issues may arise during translation from one library to the other. But for most cases, one will see that the translation is very straight-forward.
I recommend this for the release after 9.2.
Result: Replaces all uses of Guava's cache with Caffeine's cache and #4087 is now feasible without having to wrap ListenableFutures in CompletableFutures. With these commits It's possible to completely remove any import on ListenableFuture, this is however not done yet in this commit.
Signed-off-by: Lukas Mansour [email protected]
ok to test
retest this please
@LukasMansour could you please rebase to the current master