Table of Contents

Class TimeoutOptions

Namespace
DataStax.AstraDB.DataApi.Core
Assembly
DataStax.AstraDB.DataApi.dll

An options class that allows you to override the timeouts for the interactions with the Data API. Timeout options can be set at any level of the SDK hierarchy (DataAPIClient, Database, Collection) or on a per-request basis. The most specific value set wins.

public class TimeoutOptions
Inheritance
TimeoutOptions
Inherited Members

Examples

The following example shows how to override timeouts at the client level.
var client = new DataAPIClient(new CommandOptions
{
    TimeoutOptions = new TimeoutOptions
    {
        RequestTimeout = TimeSpan.FromSeconds(45),
        CollectionAdminTimeout = TimeSpan.FromMinutes(3),
    }
});

The following example shows how to override timeouts at the collection level. var collection = client.GetDatabase("mydb").GetCollection("myCollection", new DatabaseCommandOptions { TimeoutOptions = new TimeoutOptions { ConnectionTimeout = TimeSpan.FromSeconds(3), RequestTimeout = TimeSpan.FromMinutes(1), CollectionAdminTimeout = TimeSpan.FromMinutes(5), } });

Fields

DefaultBulkOperationTimeout

30 seconds.

public static readonly TimeSpan DefaultBulkOperationTimeout

Field Value

TimeSpan

DefaultCollectionAdminTimeout

60 seconds.

public static readonly TimeSpan DefaultCollectionAdminTimeout

Field Value

TimeSpan

DefaultConnectionTimeout

5 seconds.

public static readonly TimeSpan DefaultConnectionTimeout

Field Value

TimeSpan

DefaultDatabaseAdminTimeout

10 minutes.

public static readonly TimeSpan DefaultDatabaseAdminTimeout

Field Value

TimeSpan

DefaultKeyspaceAdminTimeout

60 seconds.

public static readonly TimeSpan DefaultKeyspaceAdminTimeout

Field Value

TimeSpan

DefaultRequestTimeout

10 seconds.

public static readonly TimeSpan DefaultRequestTimeout

Field Value

TimeSpan

DefaultTableAdminTimeout

30 seconds.

public static readonly TimeSpan DefaultTableAdminTimeout

Field Value

TimeSpan

Properties

BulkOperationTimeout

The timeout for bulk operations that involve multiple requests to the API (e.g. InsertMany).

public TimeSpan? BulkOperationTimeout { get; set; }

Property Value

TimeSpan?

CollectionAdminTimeout

The timeout for collection administration operations, such as creating or deleting collections.

public TimeSpan? CollectionAdminTimeout { get; set; }

Property Value

TimeSpan?

ConnectionTimeout

The timeout for establishing a connection to the API.

public TimeSpan? ConnectionTimeout { get; set; }

Property Value

TimeSpan?

DatabaseAdminTimeout

The timeout for database administration operations, such as creating or deleting databases.

public TimeSpan? DatabaseAdminTimeout { get; set; }

Property Value

TimeSpan?

KeyspaceAdminTimeout

The timeout for keyspace administration operations, such as creating or deleting keyspaces.

public TimeSpan? KeyspaceAdminTimeout { get; set; }

Property Value

TimeSpan?

RequestTimeout

The timeout for individual requests to the API.

public TimeSpan? RequestTimeout { get; set; }

Property Value

TimeSpan?

TableAdminTimeout

The timeout for table administration operations, such as creating or deleting tables.

public TimeSpan? TableAdminTimeout { get; set; }

Property Value

TimeSpan?