Skip to content

Commit 9091893

Browse files
committed
Added check for connection policy
1 parent 60ccb10 commit 9091893

3 files changed

Lines changed: 12 additions & 1 deletion

File tree

Microsoft.Azure.Cosmos/src/DocumentClient.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6821,7 +6821,14 @@ private async Task InitializeGatewayConfigurationReaderAsync()
68216821
this.accountServiceConfiguration = new CosmosAccountServiceConfiguration(accountReader.InitializeReaderAsync);
68226822

68236823
await this.accountServiceConfiguration.InitializeAsync();
6824-
AccountProperties accountProperties = this.accountServiceConfiguration.AccountProperties;
6824+
AccountProperties accountProperties = this.accountServiceConfiguration.AccountProperties;
6825+
this.ConnectionPolicy.EnablePartitionLevelFailover = accountProperties.EnablePartitionLevelFailover;
6826+
this.PartitionKeyRangeLocation = this.ConnectionPolicy.EnablePartitionLevelFailover || this.ConnectionPolicy.EnablePartitionLevelCircuitBreaker
6827+
? new GlobalPartitionEndpointManagerCore(
6828+
this.GlobalEndpointManager,
6829+
this.ConnectionPolicy.EnablePartitionLevelFailover,
6830+
this.ConnectionPolicy.EnablePartitionLevelCircuitBreaker)
6831+
: GlobalPartitionEndpointManagerNoOp.Instance;
68256832
this.UseMultipleWriteLocations = this.ConnectionPolicy.UseMultipleWriteLocations && accountProperties.EnableMultipleWriteLocations;
68266833

68276834
this.GlobalEndpointManager.InitializeAccountPropertiesAndStartBackgroundRefresh(accountProperties);

Microsoft.Azure.Cosmos/src/Resource/Settings/AccountProperties.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,9 @@ internal long ProvisionedDocumentStorageInMB
244244
[JsonProperty(PropertyName = Constants.Properties.EnableMultipleWriteLocations)]
245245
internal bool EnableMultipleWriteLocations { get; set; }
246246

247+
[JsonProperty(PropertyName = Constants.Properties.EnablePartitionLevelFailover)]
248+
internal bool EnablePartitionLevelFailover { get; set; }
249+
247250
private IDictionary<string, object> QueryStringToDictConverter()
248251
{
249252
if (!string.IsNullOrEmpty(this.QueryEngineConfigurationString))

Microsoft.Azure.Cosmos/src/Routing/GlobalEndpointManager.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,7 @@ public virtual void InitializeAccountPropertiesAndStartBackgroundRefresh(Account
554554
{
555555
return;
556556
}
557+
this.connectionPolicy.EnablePartitionLevelFailover = databaseAccount.EnablePartitionLevelFailover;
557558
GlobalEndpointManager.ParseThinClientLocationsFromAdditionalProperties(databaseAccount);
558559

559560
this.locationCache.OnDatabaseAccountRead(databaseAccount);

0 commit comments

Comments
 (0)