You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/cosmos-db/troubleshoot-sdk-availability.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Diagnose and troubleshoot the availability of Azure Cosmos SDKs in multir
3
3
description: Learn all about the Azure Cosmos SDK availability behavior when operating in multi regional environments.
4
4
author: ealsur
5
5
ms.service: cosmos-db
6
-
ms.date: 10/05/2020
6
+
ms.date: 10/20/2020
7
7
ms.author: maquaran
8
8
ms.subservice: cosmosdb-sql
9
9
ms.topic: troubleshooting
@@ -28,7 +28,7 @@ When you set the regional preference, the client will connect to a region as men
28
28
| Single write region | Preferred region | Primary region |
29
29
| Multiple write regions | Preferred region | Preferred region |
30
30
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:
32
32
33
33
|Account type |Reads |Writes |
34
34
|------------------------|--|--|
@@ -38,7 +38,9 @@ If you don't set a preferred region:
38
38
> [!NOTE]
39
39
> Primary region refers to the first region in the [Azure Cosmos account region list](distribute-data-globally.md)
40
40
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**:
42
44
43
45
* The *RequestDiagnosticsString* property on responses in .NET V2 SDK.
44
46
* 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
60
62
61
63
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.
62
64
63
-
## <aid="manual-failover-single-region"></a>Failover the write region in a single write region account
65
+
## <aid="manual-failover-single-region"></a>Fail over the write region in a single write region account
64
66
65
67
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.
66
68
@@ -70,7 +72,7 @@ If the account is single write region and the regional outage occurs during a wr
70
72
71
73
## Session consistency guarantees
72
74
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.
0 commit comments