Skip to content

Commit 99e510d

Browse files
authored
logging: flowcontrol should block (#2741)
Fixes #2714.
1 parent 6e3f26b commit 99e510d

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/GrpcLoggingRpc.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import com.google.api.core.ApiFunction;
2020
import com.google.api.core.ApiFuture;
2121
import com.google.api.core.ApiFutures;
22+
import com.google.api.gax.batching.BatchingSettings;
23+
import com.google.api.gax.batching.FlowController.LimitExceededBehavior;
2224
import com.google.api.gax.core.BackgroundResource;
2325
import com.google.api.gax.core.GaxProperties;
2426
import com.google.api.gax.grpc.GrpcCallContext;
@@ -138,6 +140,24 @@ public Void apply(UnaryCallSettings.Builder<?, ?> builder) {
138140
LoggingSettings.newBuilder(clientContext).applyToAllUnaryMethods(retrySettingsSetter);
139141
MetricsSettings.Builder metricsBuilder =
140142
MetricsSettings.newBuilder(clientContext).applyToAllUnaryMethods(retrySettingsSetter);
143+
144+
// TODO(pongad): Take advantage of https://github.com/googleapis/gax-java/pull/452 when it's
145+
// released.
146+
BatchingSettings oldBatchSettings =
147+
logBuilder.writeLogEntriesSettings().getBatchingSettings();
148+
logBuilder
149+
.writeLogEntriesSettings()
150+
.setBatchingSettings(
151+
oldBatchSettings
152+
.toBuilder()
153+
.setFlowControlSettings(
154+
oldBatchSettings
155+
.getFlowControlSettings()
156+
.toBuilder()
157+
.setLimitExceededBehavior(LimitExceededBehavior.Block)
158+
.build())
159+
.build());
160+
141161
configClient = ConfigClient.create(confBuilder.build());
142162
loggingClient = LoggingClient.create(logBuilder.build());
143163
metricsClient = MetricsClient.create(metricsBuilder.build());

0 commit comments

Comments
 (0)