Skip to content

Commit a3dfd12

Browse files
authored
Merge pull request #134713 from ealsur/users/ealsur/hubrename
Cosmos DB - SKD availability clarifications
2 parents f2e8b89 + baa7413 commit a3dfd12

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

articles/cosmos-db/troubleshoot-sdk-availability.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Diagnose and troubleshoot the availability of Azure Cosmos SDKs in multir
33
description: Learn all about the Azure Cosmos SDK availability behavior when operating in multi regional environments.
44
author: ealsur
55
ms.service: cosmos-db
6-
ms.date: 10/05/2020
6+
ms.date: 10/20/2020
77
ms.author: maquaran
88
ms.subservice: cosmosdb-sql
99
ms.topic: troubleshooting
@@ -28,7 +28,7 @@ When you set the regional preference, the client will connect to a region as men
2828
| Single write region | Preferred region | Primary region |
2929
| Multiple write regions | Preferred region | Preferred region |
3030

31-
If you don't set a preferred region:
31+
If you **don't set a preferred region**, the SDK client defaults to the primary region:
3232

3333
|Account type |Reads |Writes |
3434
|------------------------|--|--|
@@ -38,7 +38,9 @@ If you don't set a preferred region:
3838
> [!NOTE]
3939
> Primary region refers to the first region in the [Azure Cosmos account region list](distribute-data-globally.md)
4040
41-
When any of the following scenarios occur, the client using the Azure Cosmos SDK exposes logs and includes the retry information as part of the **operation diagnostic information**:
41+
Under normal circumstances, the SDK client will connect to the preferred region (if a regional preference is set) or to the primary region (if no preference is set), and the operations will be limited to that region, unless any of the below scenarios occur.
42+
43+
In these cases, the client using the Azure Cosmos SDK exposes logs and includes the retry information as part of the **operation diagnostic information**:
4244

4345
* The *RequestDiagnosticsString* property on responses in .NET V2 SDK.
4446
* The *Diagnostics* property on responses and exceptions in .NET V3 SDK.
@@ -60,7 +62,7 @@ If you remove a region and later add it back to the account, if the added region
6062

6163
If you configure the client to preferably connect to a region that the Azure Cosmos account does not have, the preferred region is ignored. If you add that region later, the client detects it and will switch permanently to that region.
6264

63-
## <a id="manual-failover-single-region"></a>Failover the write region in a single write region account
65+
## <a id="manual-failover-single-region"></a>Fail over the write region in a single write region account
6466

6567
If you initiate a failover of the current write region, the next write request will fail with a known backend response. When this response is detected, the client will query the account to learn the new write region and proceeds to retry the current operation and permanently route all future write operations to the new region.
6668

@@ -70,7 +72,7 @@ If the account is single write region and the regional outage occurs during a wr
7072

7173
## Session consistency guarantees
7274

73-
When using [session consistency](consistency-levels.md#guarantees-associated-with-consistency-levels), the client needs to guarantee that it can read its own writes. In single write region accounts where the read region preference is different from the write region, there could be cases where the user issues a write and when doing a read from a local region, the local region has not yet received the data replication (speed of light constraint). In such cases, the SDK detects the specific failure on the read operation and retries the read on the hub region to ensure session consistency.
75+
When using [session consistency](consistency-levels.md#guarantees-associated-with-consistency-levels), the client needs to guarantee that it can read its own writes. In single write region accounts where the read region preference is different from the write region, there could be cases where the user issues a write and when doing a read from a local region, the local region has not yet received the data replication (speed of light constraint). In such cases, the SDK detects the specific failure on the read operation and retries the read on the primary region to ensure session consistency.
7476

7577
## Transient connectivity issues on TCP protocol
7678

0 commit comments

Comments
 (0)