Replace RequestBatcher with EagerRequestBatcher in RemoteAnalysisCacheClientImpl. EagerRequestBatcher does not block and is better behaved over a broader range of conditions. Due to its design, the legacy RequestBatcher had a narrow window of effective parameters. Namely, too much concurrency would cause overly small batches. Too little concurrency, and the RequestBatcher could itself become a bottleneck. Since the EagerRequestBatcher always dispatches when the desired batch size is reached, it's concurrency setting never becomes a bottleneck. PiperOrigin-RevId: 971500219 Change-Id: I1e628c35d568df724020018b0249ef82e0e2c9c4
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/analysis/RemoteAnalysisCachingServicesOptions.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/analysis/RemoteAnalysisCachingServicesOptions.java index 85bbdaf..6dc7efc 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/analysis/RemoteAnalysisCachingServicesOptions.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/analysis/RemoteAnalysisCachingServicesOptions.java
@@ -59,7 +59,7 @@ name = "experimental_remote_analysis_cache_max_in_flight_read_requests", documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, effectTags = {OptionEffectTag.BAZEL_INTERNAL_CONFIGURATION}, - defaultValue = "125000", + defaultValue = "500000", converter = NonNegativeIntegerConverter.class, help = "Maximum number of concurrent in-flight read requests across Skycache stores before"