Skip to content
This repository was archived by the owner on Apr 7, 2026. It is now read-only.

Commit 6b2a6b7

Browse files
committed
Merge branch 'main' into PR #4026 to update
2 parents 5703f20 + 3d585cf commit 6b2a6b7

24 files changed

Lines changed: 916 additions & 206 deletions

File tree

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
# Changelog
22

3+
## [6.105.0](https://github.com/googleapis/java-spanner/compare/v6.104.0...v6.105.0) (2025-12-16)
4+
5+
6+
### Features
7+
8+
* Add support of dynamic channel pooling ([#4265](https://github.com/googleapis/java-spanner/issues/4265)) ([923a14a](https://github.com/googleapis/java-spanner/commit/923a14aad99ff6fc91868f02d657145dd0f31c18))
9+
* Include RequestID in requests and errors ([#4263](https://github.com/googleapis/java-spanner/issues/4263)) ([afd7d6b](https://github.com/googleapis/java-spanner/commit/afd7d6b008f13d7a4d1a3b7f924122bd41d14b59))
10+
* Make grpc-gcp default enabled ([#4239](https://github.com/googleapis/java-spanner/issues/4239)) ([bb82f9e](https://github.com/googleapis/java-spanner/commit/bb82f9e55c40cac29b090e54be780c2e42545ee1))
11+
12+
13+
### Bug Fixes
14+
15+
* Refine connecitivity metrics to capture RPCs with no response he… ([#4252](https://github.com/googleapis/java-spanner/issues/4252)) ([7b49412](https://github.com/googleapis/java-spanner/commit/7b4941221969f48d077ff459214c7d1e65ef843c))
16+
* Retry as PDML dit not retry Resource limit exceeded ([#4258](https://github.com/googleapis/java-spanner/issues/4258)) ([c735d42](https://github.com/googleapis/java-spanner/commit/c735d42875092b0d1482fe641b99645f288cdf4f)), closes [#4253](https://github.com/googleapis/java-spanner/issues/4253)
17+
18+
19+
### Dependencies
20+
21+
* Update dependency com.google.cloud:sdk-platform-java-config to v3.54.2 ([#4261](https://github.com/googleapis/java-spanner/issues/4261)) ([61dfd62](https://github.com/googleapis/java-spanner/commit/61dfd620637da6ef76b699edbad1095c26b81950))
22+
* Update googleapis/sdk-platform-java action to v2.64.2 ([#4262](https://github.com/googleapis/java-spanner/issues/4262)) ([f9505a9](https://github.com/googleapis/java-spanner/commit/f9505a97bdd9f6da7dd5ab1b60b47f7ed0a70402))
23+
324
## [6.104.0](https://github.com/googleapis/java-spanner/compare/v6.103.0...v6.104.0) (2025-12-03)
425

526

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ implementation 'com.google.cloud:google-cloud-spanner'
5656
If you are using Gradle without BOM, add this to your dependencies:
5757

5858
```Groovy
59-
implementation 'com.google.cloud:google-cloud-spanner:6.104.0'
59+
implementation 'com.google.cloud:google-cloud-spanner:6.105.0'
6060
```
6161

6262
If you are using SBT, add this to your dependencies:
6363

6464
```Scala
65-
libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.104.0"
65+
libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.105.0"
6666
```
6767

6868
## Authentication
@@ -567,7 +567,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
567567
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-spanner/java11.html
568568
[stability-image]: https://img.shields.io/badge/stability-stable-green
569569
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-spanner.svg
570-
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.104.0
570+
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.105.0
571571
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
572572
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
573573
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles

benchmarks/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>com.google.cloud</groupId>
2626
<artifactId>google-cloud-spanner-parent</artifactId>
27-
<version>6.104.0</version><!-- {x-version-update:google-cloud-spanner:current} -->
27+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
2828
</parent>
2929

3030
<properties>

google-cloud-spanner-bom/pom.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.google.cloud</groupId>
55
<artifactId>google-cloud-spanner-bom</artifactId>
6-
<version>6.104.0</version><!-- {x-version-update:google-cloud-spanner:current} -->
6+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
77
<packaging>pom</packaging>
88
<parent>
99
<groupId>com.google.cloud</groupId>
@@ -53,43 +53,43 @@
5353
<dependency>
5454
<groupId>com.google.cloud</groupId>
5555
<artifactId>google-cloud-spanner</artifactId>
56-
<version>6.104.0</version><!-- {x-version-update:google-cloud-spanner:current} -->
56+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
5757
</dependency>
5858
<dependency>
5959
<groupId>com.google.cloud</groupId>
6060
<artifactId>google-cloud-spanner</artifactId>
6161
<type>test-jar</type>
62-
<version>6.104.0</version><!-- {x-version-update:google-cloud-spanner:current} -->
62+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
6363
</dependency>
6464
<dependency>
6565
<groupId>com.google.api.grpc</groupId>
6666
<artifactId>grpc-google-cloud-spanner-v1</artifactId>
67-
<version>6.104.0</version><!-- {x-version-update:grpc-google-cloud-spanner-v1:current} -->
67+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-v1:current} -->
6868
</dependency>
6969
<dependency>
7070
<groupId>com.google.api.grpc</groupId>
7171
<artifactId>grpc-google-cloud-spanner-admin-instance-v1</artifactId>
72-
<version>6.104.0</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-instance-v1:current} -->
72+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-instance-v1:current} -->
7373
</dependency>
7474
<dependency>
7575
<groupId>com.google.api.grpc</groupId>
7676
<artifactId>grpc-google-cloud-spanner-admin-database-v1</artifactId>
77-
<version>6.104.0</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-database-v1:current} -->
77+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-database-v1:current} -->
7878
</dependency>
7979
<dependency>
8080
<groupId>com.google.api.grpc</groupId>
8181
<artifactId>proto-google-cloud-spanner-admin-instance-v1</artifactId>
82-
<version>6.104.0</version><!-- {x-version-update:proto-google-cloud-spanner-admin-instance-v1:current} -->
82+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-instance-v1:current} -->
8383
</dependency>
8484
<dependency>
8585
<groupId>com.google.api.grpc</groupId>
8686
<artifactId>proto-google-cloud-spanner-v1</artifactId>
87-
<version>6.104.0</version><!-- {x-version-update:proto-google-cloud-spanner-v1:current} -->
87+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-v1:current} -->
8888
</dependency>
8989
<dependency>
9090
<groupId>com.google.api.grpc</groupId>
9191
<artifactId>proto-google-cloud-spanner-admin-database-v1</artifactId>
92-
<version>6.104.0</version><!-- {x-version-update:proto-google-cloud-spanner-admin-database-v1:current} -->
92+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-database-v1:current} -->
9393
</dependency>
9494
</dependencies>
9595
</dependencyManagement>

google-cloud-spanner-executor/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.google.cloud</groupId>
77
<artifactId>google-cloud-spanner-executor</artifactId>
8-
<version>6.104.0</version><!-- {x-version-update:google-cloud-spanner-executor:current} -->
8+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner-executor:current} -->
99
<packaging>jar</packaging>
1010
<name>Google Cloud Spanner Executor</name>
1111

1212
<parent>
1313
<groupId>com.google.cloud</groupId>
1414
<artifactId>google-cloud-spanner-parent</artifactId>
15-
<version>6.104.0</version><!-- {x-version-update:google-cloud-spanner:current} -->
15+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
1616
</parent>
1717

1818
<properties>

google-cloud-spanner/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.google.cloud</groupId>
55
<artifactId>google-cloud-spanner</artifactId>
6-
<version>6.104.0</version><!-- {x-version-update:google-cloud-spanner:current} -->
6+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
77
<packaging>jar</packaging>
88
<name>Google Cloud Spanner</name>
99
<url>https://github.com/googleapis/java-spanner</url>
1010
<description>Java idiomatic client for Google Cloud Spanner.</description>
1111
<parent>
1212
<groupId>com.google.cloud</groupId>
1313
<artifactId>google-cloud-spanner-parent</artifactId>
14-
<version>6.104.0</version><!-- {x-version-update:google-cloud-spanner:current} -->
14+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
1515
</parent>
1616
<properties>
1717
<site.installationModule>google-cloud-spanner</site.installationModule>

google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import com.google.cloud.ServiceRpc;
4444
import com.google.cloud.TransportOptions;
4545
import com.google.cloud.grpc.GcpManagedChannelOptions;
46+
import com.google.cloud.grpc.GcpManagedChannelOptions.GcpChannelPoolOptions;
4647
import com.google.cloud.grpc.GrpcTransportOptions;
4748
import com.google.cloud.spanner.Options.DirectedReadOption;
4849
import com.google.cloud.spanner.Options.QueryOption;
@@ -134,6 +135,72 @@ public class SpannerOptions extends ServiceOptions<Spanner, SpannerOptions> {
134135
// is enabled, to make sure there are sufficient channels available to move the sessions to a
135136
// different channel if a network connection in a particular channel fails.
136137
@VisibleForTesting static final int GRPC_GCP_ENABLED_DEFAULT_CHANNELS = 8;
138+
139+
// Dynamic Channel Pool (DCP) default values and bounds
140+
/** Default max concurrent RPCs per channel before triggering scale up. */
141+
public static final int DEFAULT_DYNAMIC_POOL_MAX_RPC = 25;
142+
143+
/** Default min concurrent RPCs per channel for scale down check. */
144+
public static final int DEFAULT_DYNAMIC_POOL_MIN_RPC = 15;
145+
146+
/** Default scale down check interval. */
147+
public static final Duration DEFAULT_DYNAMIC_POOL_SCALE_DOWN_INTERVAL = Duration.ofMinutes(3);
148+
149+
/** Default initial number of channels for dynamic pool. */
150+
public static final int DEFAULT_DYNAMIC_POOL_INITIAL_SIZE = 4;
151+
152+
/** Default max number of channels for dynamic pool. */
153+
public static final int DEFAULT_DYNAMIC_POOL_MAX_CHANNELS = 10;
154+
155+
/** Default min number of channels for dynamic pool. */
156+
public static final int DEFAULT_DYNAMIC_POOL_MIN_CHANNELS = 2;
157+
158+
/**
159+
* Default affinity key lifetime for dynamic channel pool. This is how long to keep an affinity
160+
* key after its last use. Zero means keeping keys forever. Default is 10 minutes, which is
161+
* sufficient to ensure that requests within a single transaction use the same channel.
162+
*/
163+
public static final Duration DEFAULT_DYNAMIC_POOL_AFFINITY_KEY_LIFETIME = Duration.ofMinutes(10);
164+
165+
/**
166+
* Default cleanup interval for dynamic channel pool affinity keys. This is how frequently the
167+
* affinity key cleanup process runs. Default is 1 minute (1/10 of default affinity key lifetime).
168+
*/
169+
public static final Duration DEFAULT_DYNAMIC_POOL_CLEANUP_INTERVAL = Duration.ofMinutes(1);
170+
171+
/**
172+
* Creates a {@link GcpChannelPoolOptions} instance with Spanner-specific defaults for dynamic
173+
* channel pooling. These defaults are optimized for typical Spanner workloads.
174+
*
175+
* <p>Default values:
176+
*
177+
* <ul>
178+
* <li>Max size: {@value #DEFAULT_DYNAMIC_POOL_MAX_CHANNELS}
179+
* <li>Min size: {@value #DEFAULT_DYNAMIC_POOL_MIN_CHANNELS}
180+
* <li>Initial size: {@value #DEFAULT_DYNAMIC_POOL_INITIAL_SIZE}
181+
* <li>Max RPC per channel: {@value #DEFAULT_DYNAMIC_POOL_MAX_RPC}
182+
* <li>Min RPC per channel: {@value #DEFAULT_DYNAMIC_POOL_MIN_RPC}
183+
* <li>Scale down interval: 3 minutes
184+
* <li>Affinity key lifetime: 10 minutes
185+
* <li>Cleanup interval: 1 minute
186+
* </ul>
187+
*
188+
* @return a new {@link GcpChannelPoolOptions} instance with Spanner defaults
189+
*/
190+
public static GcpChannelPoolOptions createDefaultDynamicChannelPoolOptions() {
191+
return GcpChannelPoolOptions.newBuilder()
192+
.setMaxSize(DEFAULT_DYNAMIC_POOL_MAX_CHANNELS)
193+
.setMinSize(DEFAULT_DYNAMIC_POOL_MIN_CHANNELS)
194+
.setInitSize(DEFAULT_DYNAMIC_POOL_INITIAL_SIZE)
195+
.setDynamicScaling(
196+
DEFAULT_DYNAMIC_POOL_MIN_RPC,
197+
DEFAULT_DYNAMIC_POOL_MAX_RPC,
198+
DEFAULT_DYNAMIC_POOL_SCALE_DOWN_INTERVAL)
199+
.setAffinityKeyLifetime(DEFAULT_DYNAMIC_POOL_AFFINITY_KEY_LIFETIME)
200+
.setCleanupInterval(DEFAULT_DYNAMIC_POOL_CLEANUP_INTERVAL)
201+
.build();
202+
}
203+
137204
private final TransportChannelProvider channelProvider;
138205

139206
@SuppressWarnings("rawtypes")
@@ -153,6 +220,8 @@ public class SpannerOptions extends ServiceOptions<Spanner, SpannerOptions> {
153220
private final Duration partitionedDmlTimeout;
154221
private final boolean grpcGcpExtensionEnabled;
155222
private final GcpManagedChannelOptions grpcGcpOptions;
223+
private final boolean dynamicChannelPoolEnabled;
224+
private final GcpChannelPoolOptions gcpChannelPoolOptions;
156225
private final boolean autoThrottleAdministrativeRequests;
157226
private final RetrySettings retryAdministrativeRequestsSettings;
158227
private final boolean trackTransactionStarter;
@@ -800,6 +869,26 @@ protected SpannerOptions(Builder builder) {
800869
partitionedDmlTimeout = builder.partitionedDmlTimeout;
801870
grpcGcpExtensionEnabled = builder.grpcGcpExtensionEnabled;
802871
grpcGcpOptions = builder.grpcGcpOptions;
872+
873+
// Dynamic channel pooling is disabled by default.
874+
// It is only enabled when:
875+
// 1. enableDynamicChannelPool() was explicitly called, AND
876+
// 2. grpc-gcp extension is enabled, AND
877+
// 3. numChannels was not explicitly set
878+
if (builder.dynamicChannelPoolEnabled != null && builder.dynamicChannelPoolEnabled) {
879+
// DCP was explicitly enabled, but respect numChannels if set
880+
dynamicChannelPoolEnabled = grpcGcpExtensionEnabled && !builder.numChannelsExplicitlySet;
881+
} else {
882+
// DCP is disabled by default, or was explicitly disabled
883+
dynamicChannelPoolEnabled = false;
884+
}
885+
886+
// Use user-provided GcpChannelPoolOptions or create Spanner-specific defaults
887+
gcpChannelPoolOptions =
888+
builder.gcpChannelPoolOptions != null
889+
? builder.gcpChannelPoolOptions
890+
: createDefaultDynamicChannelPoolOptions();
891+
803892
autoThrottleAdministrativeRequests = builder.autoThrottleAdministrativeRequests;
804893
retryAdministrativeRequestsSettings = builder.retryAdministrativeRequestsSettings;
805894
trackTransactionStarter = builder.trackTransactionStarter;
@@ -1010,6 +1099,7 @@ public static class Builder
10101099
private GrpcInterceptorProvider interceptorProvider;
10111100

10121101
private Integer numChannels;
1102+
private boolean numChannelsExplicitlySet = false;
10131103

10141104
private String transportChannelExecutorThreadNameFormat = "Cloud-Spanner-TransportChannel-%d";
10151105

@@ -1027,6 +1117,8 @@ public static class Builder
10271117
private Duration partitionedDmlTimeout = Duration.ofHours(2L);
10281118
private boolean grpcGcpExtensionEnabled = true;
10291119
private GcpManagedChannelOptions grpcGcpOptions;
1120+
private Boolean dynamicChannelPoolEnabled;
1121+
private GcpChannelPoolOptions gcpChannelPoolOptions;
10301122
private RetrySettings retryAdministrativeRequestsSettings =
10311123
DEFAULT_ADMIN_REQUESTS_LIMIT_EXCEEDED_RETRY_SETTINGS;
10321124
private boolean autoThrottleAdministrativeRequests = false;
@@ -1099,6 +1191,8 @@ protected Builder() {
10991191
this.partitionedDmlTimeout = options.partitionedDmlTimeout;
11001192
this.grpcGcpExtensionEnabled = options.grpcGcpExtensionEnabled;
11011193
this.grpcGcpOptions = options.grpcGcpOptions;
1194+
this.dynamicChannelPoolEnabled = options.dynamicChannelPoolEnabled;
1195+
this.gcpChannelPoolOptions = options.gcpChannelPoolOptions;
11021196
this.autoThrottleAdministrativeRequests = options.autoThrottleAdministrativeRequests;
11031197
this.retryAdministrativeRequestsSettings = options.retryAdministrativeRequestsSettings;
11041198
this.trackTransactionStarter = options.trackTransactionStarter;
@@ -1189,6 +1283,7 @@ public Builder setInterceptorProvider(GrpcInterceptorProvider interceptorProvide
11891283
*/
11901284
public Builder setNumChannels(int numChannels) {
11911285
this.numChannels = numChannels;
1286+
this.numChannelsExplicitlySet = true;
11921287
return this;
11931288
}
11941289

@@ -1578,6 +1673,62 @@ public Builder disableGrpcGcpExtension() {
15781673
return this;
15791674
}
15801675

1676+
/**
1677+
* Enables dynamic channel pooling. When enabled, the client will automatically scale the number
1678+
* of channels based on load. This requires the gRPC-GCP extension to be enabled.
1679+
*
1680+
* <p>Dynamic channel pooling is disabled by default. Use this method to explicitly enable it.
1681+
* Note that calling {@link #setNumChannels(int)} will disable dynamic channel pooling even if
1682+
* this method was called.
1683+
*/
1684+
public Builder enableDynamicChannelPool() {
1685+
this.dynamicChannelPoolEnabled = true;
1686+
return this;
1687+
}
1688+
1689+
/**
1690+
* Disables dynamic channel pooling. When disabled, the client will use a static number of
1691+
* channels as configured by {@link #setNumChannels(int)}.
1692+
*
1693+
* <p>Dynamic channel pooling is disabled by default, so this method is typically not needed
1694+
* unless you want to explicitly disable it after enabling it.
1695+
*/
1696+
public Builder disableDynamicChannelPool() {
1697+
this.dynamicChannelPoolEnabled = false;
1698+
return this;
1699+
}
1700+
1701+
/**
1702+
* Sets the channel pool options for dynamic channel pooling. Use this to configure the dynamic
1703+
* channel pool behavior when {@link #enableDynamicChannelPool()} is enabled.
1704+
*
1705+
* <p>If not set, Spanner-specific defaults will be used (see {@link
1706+
* #createDefaultDynamicChannelPoolOptions()}).
1707+
*
1708+
* <p>Example usage:
1709+
*
1710+
* <pre>{@code
1711+
* SpannerOptions options = SpannerOptions.newBuilder()
1712+
* .setProjectId("my-project")
1713+
* .enableDynamicChannelPool()
1714+
* .setGcpChannelPoolOptions(
1715+
* GcpChannelPoolOptions.newBuilder()
1716+
* .setMaxSize(15)
1717+
* .setMinSize(3)
1718+
* .setInitSize(5)
1719+
* .setDynamicScaling(10, 30, Duration.ofMinutes(5))
1720+
* .build())
1721+
* .build();
1722+
* }</pre>
1723+
*
1724+
* @param gcpChannelPoolOptions the channel pool options to use
1725+
* @return this builder for chaining
1726+
*/
1727+
public Builder setGcpChannelPoolOptions(GcpChannelPoolOptions gcpChannelPoolOptions) {
1728+
this.gcpChannelPoolOptions = Preconditions.checkNotNull(gcpChannelPoolOptions);
1729+
return this;
1730+
}
1731+
15811732
/**
15821733
* Sets the host of an emulator to use. By default the value is read from an environment
15831734
* variable. If the environment variable is not set, this will be <code>null</code>.
@@ -1990,6 +2141,26 @@ public GcpManagedChannelOptions getGrpcGcpOptions() {
19902141
return grpcGcpOptions;
19912142
}
19922143

2144+
/**
2145+
* Returns whether dynamic channel pooling is enabled. Dynamic channel pooling is disabled by
2146+
* default. Use {@link Builder#enableDynamicChannelPool()} to explicitly enable it. Note that
2147+
* calling {@link Builder#setNumChannels(int)} will disable dynamic channel pooling even if it was
2148+
* explicitly enabled.
2149+
*/
2150+
public boolean isDynamicChannelPoolEnabled() {
2151+
return dynamicChannelPoolEnabled;
2152+
}
2153+
2154+
/**
2155+
* Returns the channel pool options for dynamic channel pooling. If no options were explicitly
2156+
* set, returns the Spanner-specific defaults.
2157+
*
2158+
* @see #createDefaultDynamicChannelPoolOptions()
2159+
*/
2160+
public GcpChannelPoolOptions getGcpChannelPoolOptions() {
2161+
return gcpChannelPoolOptions;
2162+
}
2163+
19932164
public boolean isAutoThrottleAdministrativeRequests() {
19942165
return autoThrottleAdministrativeRequests;
19952166
}

0 commit comments

Comments
 (0)