-
Notifications
You must be signed in to change notification settings - Fork 200
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
Alternative cache backends for remote workers #142
Comments
It is not currently possible to separate this right now, but for only the simple reason that we're using the same endpoint for the operation queue, the CAS, and the Action Cache. Your use case is definitely sound, but I have a thought about providing the support for the different endpoint types in-worker: How about I just make 3 different configurable endpoint addresses for communication over grpc for each of the services, rather than trying to bake in client support for all manner of CAS/AC communication protocols (http, grpc, hazelcast, redis, memcached, mongo, etc). I can also quite separately (doesn't even have to be in this repo) provide a grpc hosted server that can speak one of these (separate binaries for separate protos) and facilitate proxy/translation for either activity (CAS or AC). I think it is an effective strategy to combat complexity to say 'the operation queue workers speak grpc and nothing else.' |
Hi @werkt, I'm not sure if that was a comment directed at me. What I was hoping for was to give a flag to the build farm worker to read/write to some cache backend. Thanks! |
I believe @werkt is saying that currently there are 3 different kinds of things, all handled on a single port by a single binary. If they were (or could be) on different ports, it would be far easier for others to add support for alternate implementation(s) of the functionality - whether it is a shim to use Bazel Remote Cache in place of the internal CAS, a custom AC backend, or what have you. |
We've broken things out at this point, have at it! |
Is it possible to set a cache backend for the remote workers?
Specifically using Google Cloud Storage or Bazel remote cache or nginx :)
The use case that I have in mind is that these bazel workers may be ephemeral and short-lived while the cache backend could be more durable.
https://docs.bazel.build/versions/master/remote-caching.html
The text was updated successfully, but these errors were encountered: