-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use tiered cache in place of Caffeine cache #775
Comments
@pditommaso does tieredcache also addresses #747? wave/src/main/groovy/io/seqera/wave/service/aws/AwsEcrService.groovy Lines 142 to 146 in d5c086d
|
No, it uses always Ceffeine behind the scene. We need Java 24 to revert that change |
Since now we need to use string as key, there is an issue with loader wave/src/main/groovy/io/seqera/wave/service/aws/AwsEcrService.groovy Lines 88 to 93 in 1e13c9f
here loader is using key (AwsCreds) to compute the value, changing creds to string will not let us compute it anymore. |
we can store awscreds as it is and generate token, when fetchs from cache |
|
yes, that i did here: wave/src/main/groovy/io/seqera/wave/service/aws/AwsEcrService.groovy Lines 69 to 77 in 1e13c9f
but loader requires AwsCreds and not a string because it needs compute token from it |
This needs to be changed to take
ei.
make sense ? |
ok understood, thanks |
Another issue is Caffeine cache loader is not a Funtion<>, it doesn't have apply Method |
It should not impact, the trick is to replace in the internal implementation the string key with |
Tiered cache provides twofolds benefits: 1) the cache content is shared across all replicas, and 2) the cache content is should not be reloaded in across restarts.
The goal of this issue is to replace the local Caffeine cache with a tiered cache for the following services:
Supporting those service require however extending the current tiered cache API adding the ability to use Java object a cache keys other than plain strings as it is now, see here
abstract class AbstractTieredCache implements TieredCache<String,V>
This could be achieved introducing an interface like the following one
The concrete key class should take care of proving an implementation for
stableHash
, likely using sipHash algorithm.The text was updated successfully, but these errors were encountered: