ChunkMigrationConnectionTimeout

In sharding, a connection request to a specific shard can occur while data is migrating from the original shard to a new one. This setting will pause the connection request until the migration completes or fails to migrate in the specified time, then connect to the correct shard with the data requested.

Declaration

// C#
public int ChunkMigrationConnectionTimeout {get;set;}

Property Value

The maximum time, in seconds, for a pooled connection request to pause waiting for a chunk migration or split partitionset for a particular chunk.

Remarks

If a specific shard connection request occurs while data is migrating to a new shard or being split and moved to a new shard through a split partitionset operation, then this setting pauses the connection request until the data migration completes or fails in the specified time. It then connects to the correct shard with the data requested.

Default is 120 seconds. This setting requires connection pooling to be enabled.

ODP.NET reads the chunk migration connection timeout setting only upon pool creation. A new timeout setting will not be used until a new pool is created.

This setting is in effect if

  • write access is required and a chunk is read-only, or

  • during a chunk migration or split partitionset, the chunk becomes unavailable to read.

If the connection requires only read-only access, then this setting will not be used unless the chunk becomes unavailable.

If the connection requires write access and the chunk does not become writable or available before the chunk migration connection timeout expires, then a new connection will be created. If the connection cannot be created, then an OracleException will occur.

During chunk migration or split partitionset, an ODP.NET connection request obeys only the chunk migration connection timeout. All other connection timeout values, such as OracleConnection.ConnectionTimeout, are ignored.

Oracle recommends setting the ODP.NET chunk migration connection timeout to a value greater than the chunk move server timeout. One way to set this server timeout is using the Global Data Services Control Utility (GDSCTL) move chunk command's timeout option. This server-side timeout only applies to chunk migrations, not split partitionset.

The OracleConnection ChunkMigrationConnectionTimeout property inherits from the OracleConfiguration ChunkMigrationConnectionTimeout property. The OracleConnection property can be separately set to override the property set in the OracleConfiguration class.