Hello,
We have recently set up gradle remote build cache node using official docker image.
Using build-cache reduces our build time by more than 50% !!
Thanks for providing this capability.
However, the improvements are only visible when at a time only a single job is running.
Whenever there are concurrent jobs running, they take the same amount of time as previously,
even though task outputs are from the cache (concluding from success logs)
BUILD SUCCESSFUL in 13m 52s
1587 actionable tasks: 623 executed, 964 from cache
build-cache config
ext.remoteCacheEnabled = System.getenv().getOrDefault("REMOTE_CACHE_ENABLED", 'false').toBoolean()
ext.writeCacheEnabled = System.getenv().getOrDefault("WRITE_CACHE_ENABLED", 'false').toBoolean()
ext.buildCacheUrl = System.getenv().getOrDefault("BUILD_CACHE_URL", '')
buildCache {
local {
enabled = !remoteCacheEnabled
}
remote(HttpBuildCache) {
url = "http://" + buildCacheUrl + "/cache/"
credentials {
username = System.getenv().getOrDefault("BUILD_CACHE_USER", '')
password = System.getenv().getOrDefault("BUILD_CACHE_PASSWORD", '')
}
enabled = remoteCacheEnabled
push = remoteCacheEnabled
// Allow using HTTP protocol
allowInsecureProtocol = true
}
}
So basically on CI, for any job running
enabled = true;
push = true;
Hence wanted to understand how concurrent access works with this remote cache node.
- Is concurrent reading possible?
- Is concurrent writing possible?