public SpannerOptions.Builder enableGrpcGcpExtension()
Enables gRPC-GCP extension with the default settings. Do not set
GOOGLE_CLOUD_SPANNER_MULTIPLEXED_SESSIONS to true in combination with this option, as
Multiplexed sessions are not supported for gRPC-GCP.
public SpannerOptions.Builder enableGrpcGcpExtension(GcpManagedChannelOptions options)
Enables gRPC-GCP extension and uses provided options for configuration. The metric registry
and default Spanner metric labels will be added automatically. Do not set
GOOGLE_CLOUD_SPANNER_MULTIPLEXED_SESSIONS to true in combination with this option, as
Multiplexed sessions are not supported for gRPC-GCP.
The library will automatically use the defaults defined in DatabaseAdminStubSettings if no custom settings are set. The defaults are the same as the
defaults that are used by DatabaseAdminSettings, and are generated from the file spanner_admin_database_gapic.yaml.
Retries are configured for idempotent methods but not for non-idempotent methods.
You can set the same RetrySettings for all unary methods by calling this:
builder
.getDatabaseAdminStubSettingsBuilder()
.applyToAllUnaryMethods(
new ApiFunction<UnaryCallSettings.Builder<?, ?>, Void>() {
public Void apply(Builder<?, ?> input) {
input.setRetrySettings(retrySettings);
return null;
}
});
The library will automatically use the defaults defined in InstanceAdminStubSettings if no custom settings are set. The defaults are the same as the
defaults that are used by InstanceAdminSettings, and are generated from the file spanner_admin_instance_gapic.yaml.
Retries are configured for idempotent methods but not for non-idempotent methods.
You can set the same RetrySettings for all unary methods by calling this:
builder
.getInstanceAdminStubSettingsBuilder()
.applyToAllUnaryMethods(
new ApiFunction<UnaryCallSettings.Builder<?, ?>, Void>() {
public Void apply(Builder<?, ?> input) {
input.setRetrySettings(retrySettings);
return null;
}
});
The library will automatically use the defaults defined in SpannerStubSettings if
no custom settings are set. The defaults are the same as the defaults that are used by SpannerSettings, and are generated from the file spanner_gapic.yaml.
Retries are configured for idempotent methods but not for non-idempotent methods.
You can set the same RetrySettings for all unary methods by calling this:
builder
.getSpannerStubSettingsBuilder()
.applyToAllUnaryMethods(
new ApiFunction<UnaryCallSettings.Builder<?, ?>, Void>() {
public Void apply(Builder<?, ?> input) {
input.setRetrySettings(retrySettings);
return null;
}
});
public SpannerOptions.Builder setAsyncExecutorProvider(SpannerOptions.CloseableExecutorProvider provider)
Sets the ExecutorProvider to use for high-level async calls that need an executor,
such as fetching results for an AsyncResultSet.
Async methods will use a sensible default if no custom ExecutorProvider has been
set. The default ExecutorProvider uses a cached thread pool containing a maximum of 8
threads. The pool is lazily initialized and will not create any threads if the user
application does not use any async methods. It will also scale down the thread usage if the
async load allows for that.
Call SpannerOptions#createAsyncExecutorProvider(int, long, TimeUnit) to create a
provider with a custom pool size or call FixedCloseableExecutorProvider#create(ScheduledExecutorService) to create a CloseableExecutorProvider from a standard Java ScheduledExecutorService.
public SpannerOptions.Builder setAutoThrottleAdministrativeRequests()
Instructs the client library to automatically throttle the number of administrative requests
if the rate of administrative requests generated by this Spanner instance will exceed
the administrative limits Cloud Spanner. The default behavior is to not throttle any
requests. If the limit is exceeded, Cloud Spanner will return a RESOURCE_EXHAUSTED error.
More information on the administrative limits can be found here:
https://cloud.google.com/spanner/quotas#administrative_limits. Setting this option is not a
guarantee that the rate will never be exceeded, as this option will only throttle requests
coming from this client. Additional requests from other clients could still cause the limit
to be exceeded.
public SpannerOptions.Builder setCompressorName(String compressorName)
Sets the compression to use for all gRPC calls. The compressor must be a valid name known in
the CompressorRegistry. This will enable compression both from the client to the
server and from the server to the client.
public SpannerOptions.Builder setDatabaseRole(String databaseRole)
Sets the database role that should be used for connections that are created by this instance.
The database role that is used determines the access permissions that a connection has. This
can for example be used to create connections that are only permitted to access certain
tables.
public SpannerOptions.Builder setDefaultQueryOptions(DatabaseId database, ExecuteSqlRequest.QueryOptions defaultQueryOptions)
Sets the default QueryOptions that will be used for all queries on the specified
database. Query options can also be specified on a per-query basis and as environment
variables. The precedence of these settings are:
Query options for a specific query
Environment variables
These default query options
Each QueryOption value that is used for a query is determined individually based on
the above precedence. If for example a value for QueryOptions#getOptimizerVersion()
is specified in an environment variable and a value for QueryOptions#getOptimizerStatisticsPackage() is specified for a specific query, both values
will be used for the specific query. Environment variables are only read during the
initialization of a SpannerOptions instance. Changing an environment variable after
initializing a SpannerOptions instance will not have any effect on that instance.
public SpannerOptions.Builder setEmulatorHost(String emulatorHost)
Sets the host of an emulator to use. By default the value is read from an environment
variable. If the environment variable is not set, this will be null.
public SpannerOptions.Builder setEnableApiTracing(boolean enableApiTracing)
Creates and sets an com.google.api.gax.tracing.ApiTracer for the RPCs that are
executed by this client. Enabling this creates traces for each individual RPC execution,
including events/annotations when an RPC is retried or fails. The traces are only exported if
an OpenTelemetry or OpenCensus trace exporter has been configured for the client.
public SpannerOptions.Builder setEnableEndToEndTracing(boolean enableEndToEndTracing)
Sets whether to enable end to end tracing. Enabling this option will create the trace spans
at the Spanner layer. By default, end to end tracing is disabled. Enabling end to end tracing
requires OpenTelemetry to be set up. Simply enabling this option won't generate traces at
Spanner layer.
public SpannerOptions.Builder setEnableExtendedTracing(boolean enableExtendedTracing)
Sets whether to enable extended OpenTelemetry tracing. Enabling this option will add the
following additional attributes to the traces that are generated by the client:
db.statement: Contains the SQL statement that is being executed.
thread.name: The name of the thread that executes the statement.
public SpannerOptions.Builder setPrefetchChunks(int prefetchChunks)
Specifying this will allow the client to prefetch up to prefetchChunks
PartialResultSet chunks for each read and query. The data size of each chunk depends on the
server implementation but a good rule of thumb is that each chunk will be up to 1 MiB. Larger
values reduce the likelihood of blocking while consuming results at the cost of greater
memory consumption. prefetchChunks should be greater than 0. To get good performance
choose a value that is large enough to allow buffering of chunks for an entire row. Apart
from the buffered chunks, there can be at most one more row buffered in the client. This can
be overridden on a per read/query basis by Options#prefetchChunks(). If unspecified,
we will use a default value (currently 4).
public SpannerOptions.Builder setTrackTransactionStarter()
Instructs the client library to track the first request of each read/write transaction. This
statement will include a BeginTransaction option and will return a transaction id as part of
its result. All other statements in the same transaction must wait for this first statement
to finish before they can proceed. By setting this option the client library will throw a
SpannerException with ErrorCode#DEADLINE_EXCEEDED for any subsequent
statement that has waited for at least 60 seconds for the first statement to return a
transaction id, including the stacktrace of the initial statement that should have returned a
transaction id.
Enables/disables the use of virtual threads for the gRPC executor. Setting this option only
has any effect on Java 21 and higher. In all other cases, the option will be ignored.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-30 UTC."],[],[]]