Google Bigtable v2 API - Class BigtableServiceApiSettings (3.14.0)

public sealed class BigtableServiceApiSettings : ServiceSettingsBase

Reference documentation and code samples for the Google Bigtable v2 API class BigtableServiceApiSettings.

Settings for BigtableServiceApiClient instances.

Inheritance

object > ServiceSettingsBase > BigtableServiceApiSettings

Namespace

Google.Cloud.Bigtable.V2

Assembly

Google.Cloud.Bigtable.V2.dll

Constructors

BigtableServiceApiSettings()

public BigtableServiceApiSettings()

Constructs a new BigtableServiceApiSettings object with default settings.

Properties

AppProfileId

public string AppProfileId { get; set; }

This value specifies routing for replication. If not specified, the "default" application profile will be used by the server.

Property Value
Type Description
string

CheckAndMutateRowSettings

public CallSettings CheckAndMutateRowSettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.CheckAndMutateRow and BigtableServiceApiClient.CheckAndMutateRowAsync .

Property Value
Type Description
CallSettings
Remarks
  • This call will not be retried.
  • Timeout: 20 seconds.

ExecuteQuerySettings

public CallSettings ExecuteQuerySettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.ExecuteQuery and BigtableServiceApiClient.ExecuteQueryAsync.

Property Value
Type Description
CallSettings
Remarks
  • This call will not be retried.
  • No timeout is applied.

GenerateInitialChangeStreamPartitionsSettings

public CallSettings GenerateInitialChangeStreamPartitionsSettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.GenerateInitialChangeStreamPartitions and BigtableServiceApiClient.GenerateInitialChangeStreamPartitionsAsync.

Property Value
Type Description
CallSettings
Remarks
  • This call will not be retried.
  • Timeout: 60 seconds.

MaxChannels

public uint MaxChannels { get; set; }

The maximum number of channels than will be open concurrently to the Bigtable endpoint.

Property Value
Type Description
uint
Remarks

Note that channels are managed and shared amongst BigtableClient instances using the same endpoint and channel options and which use the default credentials. So this property will have no bearing across clients using different options. To create a custom grouping of channels to be managed, create a GcpCallInvoker manually and set the CallInvoker property on a BigtableClientBuilder, then build the client.

Example
// client1 and client3 will share the same GcpCallInvoker, since they both
// use the same default settings. This means they will use the same shared
// set of gRPC channels to the Bigtable service.
// client2 and client4 will share a different GcpCallInvoker, since they both
// use the same custom MaxChannels/PreferredMaxStreamsPerChannel settings.
BigtableServiceApiSettings settings1 = BigtableServiceApiSettings.GetDefault();
BigtableClient client1 = new BigtableClientBuilder { Settings = settings1 }.Build();

BigtableServiceApiSettings settings2 = new BigtableServiceApiSettings
{
    MaxChannels = 10,
    PreferredMaxStreamsPerChannel = 4
};
BigtableClient client2 = new BigtableClientBuilder { Settings = settings2 }.Build();

BigtableServiceApiSettings settings3 = BigtableServiceApiSettings.GetDefault();
BigtableClient client3 = new BigtableClientBuilder { Settings = settings3 }.Build();

BigtableServiceApiSettings settings4 = new BigtableServiceApiSettings
{
    MaxChannels = 10,
    PreferredMaxStreamsPerChannel = 4
};
BigtableClient client4 = new BigtableClientBuilder { Settings = settings4 }.Build();

// client5 will not share a GcpCallInvoker with any of the other clients, since
// its MaxChannels/PreferredMaxStreamsPerChannel settings differ from the others.
BigtableServiceApiSettings settings5 = new BigtableServiceApiSettings
{
    MaxChannels = 15,
    PreferredMaxStreamsPerChannel = 4
};
BigtableClient client5 = new BigtableClientBuilder { Settings = settings5 }.Build();

MutateRowSettings

public CallSettings MutateRowSettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.MutateRow and BigtableServiceApiClient.MutateRowAsync.

Property Value
Type Description
CallSettings
Remarks
  • Initial retry delay: 10 milliseconds.
  • Retry delay multiplier: 2
  • Retry maximum delay: 60000 milliseconds.
  • Maximum attempts: 5
  • Retriable status codes: Unavailable, DeadlineExceeded.
  • Timeout: 60 seconds.

MutateRowsRetrySettings

public RetrySettings MutateRowsRetrySettings { get; set; }

RetrySettings for calls to BigtableClient.MutateRows and BigtableClient.MutateRowsAsync when some of the mutations fail for certain reasons.

Property Value
Type Description
RetrySettings
Remarks

The default BigtableClient.MutateRows and BigtableClient.MutateRowsAsyncRetrySettings are:

  • Max attempts: 5
  • Initial retry delay: 10 milliseconds
  • Retry delay multiplier: 2.0
  • Retry maximum delay: 60000 milliseconds
Retry will be attempted on the following response status codes on individual mutations:

See Also

MutateRowsSettings

public CallSettings MutateRowsSettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.MutateRows and BigtableServiceApiClient.MutateRowsAsync.

Property Value
Type Description
CallSettings
Remarks
  • This call will not be retried.
  • Timeout: 600 seconds.

PingAndWarmSettings

public CallSettings PingAndWarmSettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.PingAndWarm and BigtableServiceApiClient.PingAndWarmAsync.

Property Value
Type Description
CallSettings
Remarks
  • This call will not be retried.
  • No timeout is applied.

PreferredMaxStreamsPerChannel

public uint PreferredMaxStreamsPerChannel { get; set; }

The number of streams open concurrently in a channel which will trigger a new channel to be opened, as long as fewer than MaxChannels are currently open.

Property Value
Type Description
uint
Remarks

Note that channels are managed and shared amongst BigtableClient instances using the same endpoint and channel options and which use the default credentials. So this property will have no bearing across clients using different options. To create a custom grouping of channels to be managed, create a GcpCallInvoker manually and set the CallInvoker property on a BigtableClientBuilder, then build the client.

Example
// client1 and client3 will share the same GcpCallInvoker, since they both
// use the same default settings. This means they will use the same shared
// set of gRPC channels to the Bigtable service.
// client2 and client4 will share a different GcpCallInvoker, since they both
// use the same custom MaxChannels/PreferredMaxStreamsPerChannel settings.
BigtableServiceApiSettings settings1 = BigtableServiceApiSettings.GetDefault();
BigtableClient client1 = new BigtableClientBuilder { Settings = settings1 }.Build();

BigtableServiceApiSettings settings2 = new BigtableServiceApiSettings
{
    MaxChannels = 10,
    PreferredMaxStreamsPerChannel = 4
};
BigtableClient client2 = new BigtableClientBuilder { Settings = settings2 }.Build();

BigtableServiceApiSettings settings3 = BigtableServiceApiSettings.GetDefault();
BigtableClient client3 = new BigtableClientBuilder { Settings = settings3 }.Build();

BigtableServiceApiSettings settings4 = new BigtableServiceApiSettings
{
    MaxChannels = 10,
    PreferredMaxStreamsPerChannel = 4
};
BigtableClient client4 = new BigtableClientBuilder { Settings = settings4 }.Build();

// client5 will not share a GcpCallInvoker with any of the other clients, since
// its MaxChannels/PreferredMaxStreamsPerChannel settings differ from the others.
BigtableServiceApiSettings settings5 = new BigtableServiceApiSettings
{
    MaxChannels = 15,
    PreferredMaxStreamsPerChannel = 4
};
BigtableClient client5 = new BigtableClientBuilder { Settings = settings5 }.Build();

ReadChangeStreamSettings

public CallSettings ReadChangeStreamSettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.ReadChangeStream and BigtableServiceApiClient.ReadChangeStreamAsync.

Property Value
Type Description
CallSettings
Remarks
  • This call will not be retried.
  • Timeout: 43200 seconds.

ReadModifyWriteRowSettings

public CallSettings ReadModifyWriteRowSettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.ReadModifyWriteRow and BigtableServiceApiClient.ReadModifyWriteRowAsync .

Property Value
Type Description
CallSettings
Remarks
  • This call will not be retried.
  • Timeout: 20 seconds.

ReadRowsRetrySettings

public RetrySettings ReadRowsRetrySettings { get; set; }

RetrySettings for calls to BigtableClient.ReadRows when the stream of results ends prematurely.

Property Value
Type Description
RetrySettings
Remarks

The default BigtableClient.ReadRowsRetrySettings are:

  • Max attempts: 5
  • Initial retry delay: 10 milliseconds
  • Retry delay multiplier: 2.0
  • Retry maximum delay: 60000 milliseconds
Retry will be attempted on the following response status codes on individual mutations:

See Also

ReadRowsSettings

public CallSettings ReadRowsSettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.ReadRows and BigtableServiceApiClient.ReadRowsAsync.

Property Value
Type Description
CallSettings
Remarks
  • This call will not be retried.
  • Timeout: 43200 seconds.

SampleRowKeysSettings

public CallSettings SampleRowKeysSettings { get; set; }

CallSettings for synchronous and asynchronous calls to BigtableServiceApiClient.SampleRowKeys and BigtableServiceApiClient.SampleRowKeysAsync.

Property Value
Type Description
CallSettings
Remarks
  • This call will not be retried.
  • Timeout: 60 seconds.

Methods

Clone()

public BigtableServiceApiSettings Clone()

Creates a deep clone of this object, with all the same property values.

Returns
Type Description
BigtableServiceApiSettings

A deep clone of this BigtableServiceApiSettings object.

GetDefault()

public static BigtableServiceApiSettings GetDefault()

Get a new instance of the default BigtableServiceApiSettings.

Returns
Type Description
BigtableServiceApiSettings

A new instance of the default BigtableServiceApiSettings.