Skip to content

Commit 897cd09

Browse files
committed
feat: resizing channel pool size based on the work load
1 parent 1aaa80d commit 897cd09

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.google.api.gax.batching.FlowController.LimitExceededBehavior;
2525
import com.google.api.gax.core.FixedCredentialsProvider;
2626
import com.google.api.gax.core.GoogleCredentialsProvider;
27+
import com.google.api.gax.grpc.ChannelPoolSettings;
2728
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
2829
import com.google.api.gax.retrying.RetrySettings;
2930
import com.google.api.gax.rpc.FixedHeaderProvider;
@@ -250,7 +251,13 @@ public Map<String, String> getJwtAudienceMapping() {
250251
/** Returns a builder for the default ChannelProvider for this service. */
251252
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
252253
return BigtableStubSettings.defaultGrpcTransportProviderBuilder()
253-
.setPoolSize(getDefaultChannelPoolSize())
254+
.setChannelPoolSettings(
255+
ChannelPoolSettings.builder()
256+
.setInitialChannelCount(2 * Runtime.getRuntime().availableProcessors())
257+
.setMinRpcsPerChannel(1)
258+
.setMaxRpcsPerChannel(50)
259+
.setPreemptiveRefreshEnabled(true)
260+
.build())
254261
.setMaxInboundMessageSize(MAX_MESSAGE_SIZE)
255262
.setKeepAliveTime(Duration.ofSeconds(30)) // sends ping in this interval
256263
.setKeepAliveTimeout(

0 commit comments

Comments
 (0)