tree: ff09c2564eaf9b8d1f568dad097572ec9a80c226
  1. BUILD
  2. CacheNotFoundException.java
  3. ConcurrentMapActionCache.java
  4. ConcurrentMapFactory.java
  5. ContentDigests.java
  6. GrpcActionCache.java
  7. README.md
  8. RemoteActionCache.java
  9. RemoteActionContextProvider.java
  10. RemoteModule.java
  11. RemoteOptions.java
  12. RemoteSpawnStrategy.java
  13. RemoteUtils.java
  14. RemoteWorkExecutor.java
  15. TreeNodeRepository.java
src/main/java/com/google/devtools/build/lib/remote/README.md

How to run a standalone Hazelcast server for testing distributed cache.

  • First you need to run a standalone Hazelcast server with default configuration. If you already have a separate Hazelcast cluster you can skip this step.
    java -cp third_party/hazelcast/hazelcast-3.6.4.jar \
        com.hazelcast.core.server.StartServer
  • Then you run Bazel pointing to the Hazelcast server.
    bazel --host_jvm_args=-Dbazel.DigestFunction=SHA1 build \
        --hazelcast_node=localhost:5701 --spawn_strategy=remote \
        src/tools/generate_workspace:all

Above command will build generate_workspace with remote spawn strategy that uses Hazelcast as the distributed caching backend.

How to run a remote worker for testing remote execution.

  • First run the remote worker. This will start a standalone Hazelcast server with default configuration.
    bazel-bin/src/tools/remote_worker/remote_worker \
        --work_path=/tmp/remote --listen_port 8080
  • Then run Bazel pointing to the Hazelcast server and remote worker.
        bazel --host_jvm_args=-Dbazel.DigestFunction=SHA1 build \
            --hazelcast_node=localhost:5701 \
            --remote_worker=localhost:8080 \
            --spawn_strategy=remote src/tools/generate_workspace:all

How to run a remote worker with a remote cache server.

  • First you need to run a standalone Hazelcast server with default configuration. If you already have a separate Hazelcast cluster you can skip this step.
    java -cp third_party/hazelcast/hazelcast-3.6.4.jar \
        com.hazelcast.core.server.StartServer
  • Then run the remote cache server:
    bazel-bin/src/tools/remote_worker/remote_cache --listen_port 8081
  • The run the remote worker:
    bazel-bin/src/tools/remote_worker/remote_worker \
        --work_path=/tmp/remote --listen_port 8080
  • Then run Bazel pointing to the cache server and remote worker.
        bazel --host_jvm_args=-Dbazel.DigestFunction=SHA1 build \
            --hazelcast_node=localhost:5701 \
            --remote_worker=localhost:8080 \
            --remote_cache=localhost:8081 \
            --spawn_strategy=remote src/tools/generate_workspace:all