diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java index 1973aa45263daf..aa56a3e317c6f8 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java +++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java @@ -181,8 +181,13 @@ public void beforeCommand(CommandEnvironment env) throws AbruptExitException { boolean enableDiskCache = RemoteCacheClientFactory.isDiskCache(remoteOptions); boolean enableHttpCache = RemoteCacheClientFactory.isHttpCache(remoteOptions); - boolean enableGrpcCache = GrpcCacheClient.isRemoteCacheOptions(remoteOptions); boolean enableRemoteExecution = shouldEnableRemoteExecution(remoteOptions); + // If --remote_cache is empty but --remote_executor is not, endpoint for cache should be the one + // for execution. + if (enableRemoteExecution && Strings.isNullOrEmpty(remoteOptions.remoteCache)) { + remoteOptions.remoteCache = remoteOptions.remoteExecutor; + } + boolean enableGrpcCache = GrpcCacheClient.isRemoteCacheOptions(remoteOptions); boolean enableRemoteDownloader = shouldEnableRemoteDownloader(remoteOptions); if (enableRemoteDownloader && !enableGrpcCache) { @@ -292,8 +297,7 @@ public void beforeCommand(CommandEnvironment env) throws AbruptExitException { } // Create a separate channel if --remote_executor and --remote_cache point to different // endpoints. - if (Strings.isNullOrEmpty(remoteOptions.remoteCache) - || remoteOptions.remoteCache.equals(remoteOptions.remoteExecutor)) { + if (remoteOptions.remoteCache.equals(remoteOptions.remoteExecutor)) { cacheChannel = execChannel.retain(); } }