Use a fixed thread pool in ByteStreamBuildEventArtifactUploader

Fixes https://github.com/bazelbuild/bazel/issues/6806

RELNOTES: None
PiperOrigin-RevId: 223763834
diff --git a/src/main/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploader.java b/src/main/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploader.java
index b02546f..8d2e931 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploader.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploader.java
@@ -42,7 +42,8 @@
 class ByteStreamBuildEventArtifactUploader implements BuildEventArtifactUploader {
 
   private final ListeningExecutorService uploadExecutor =
-      MoreExecutors.listeningDecorator(Executors.newCachedThreadPool());
+      MoreExecutors.listeningDecorator(
+          Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()));
   private final Context ctx;
   private final ByteStreamUploader uploader;
   private final String remoteServerInstanceName;