Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Internal] HttpTimeoutPolicy: Removes Data Plane Writes from being able to be retried #3607

Merged
merged 37 commits into from
Dec 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
792c909
Fixes to ReadThroughputAsync for databases with no provisioned throug…
NaluTripician Oct 10, 2022
fbd6aee
Merge branch 'master' into users/nalutripician/ReadThroughputAsyncNoP…
NaluTripician Oct 10, 2022
87b3663
fixed failure to ReadReplaceThroughputResponseTests
NaluTripician Oct 10, 2022
92fdeb0
Merge branch 'users/nalutripician/ReadThroughputAsyncNoProvisionedThr…
NaluTripician Oct 10, 2022
f49f8f9
Added Stream Method
NaluTripician Oct 17, 2022
0144e57
Merge branch 'master' into users/nalutripician/ReadThroughputAsyncNoP…
NaluTripician Oct 17, 2022
bfd3cb9
Ran UpdateContract.ps1
NaluTripician Oct 17, 2022
624344a
Encryption implemtation
NaluTripician Oct 17, 2022
939e721
Fixed spelling error
NaluTripician Oct 17, 2022
c9407d9
Update Microsoft.Azure.Cosmos.Encryption/src/EncryptionDatabase.cs
NaluTripician Oct 18, 2022
51539b0
Variable name change
NaluTripician Oct 18, 2022
701c975
Update Microsoft.Azure.Cosmos/src/Resource/Database/Database.cs
NaluTripician Oct 19, 2022
72e6df7
Suggested Changes and fixes
NaluTripician Oct 19, 2022
29778f4
Removed manufactured ResponseMessage + nits
NaluTripician Oct 20, 2022
dc5593f
Simplified PR
NaluTripician Oct 21, 2022
2298107
nits
NaluTripician Oct 21, 2022
33f664f
nits
NaluTripician Oct 21, 2022
eafafc1
initial changes TODO: Update tests
NaluTripician Nov 3, 2022
242e6bd
updated tests
NaluTripician Nov 9, 2022
735186c
nits'
NaluTripician Nov 9, 2022
190bf04
Merge branch 'master' into users/nalutripician/HttpTimeoutsThrow503
NaluTripician Nov 9, 2022
409b25d
Ran UpdateContracts.ps1
NaluTripician Nov 9, 2022
38ecc60
Merge branch 'users/nalutripician/HttpTimeoutsThrow503' of https://gi…
NaluTripician Nov 9, 2022
9801ed2
nits + requested changes
NaluTripician Nov 11, 2022
ce3bd91
Delete NuGet.Config
NaluTripician Nov 11, 2022
33d3ed7
Merge branch 'master' into users/nalutripician/HttpTimeoutsThrow503
NaluTripician Nov 11, 2022
a0017d5
Update Microsoft.Azure.Cosmos/src/HttpClient/CosmosHttpClientCore.cs
NaluTripician Nov 11, 2022
3d78a50
Update Microsoft.Azure.Cosmos/src/HttpClient/HttpTimeoutPolicy.cs
NaluTripician Nov 11, 2022
3383da2
Update Microsoft.Azure.Cosmos/src/HttpClient/HttpTimeoutPolicy.cs
NaluTripician Nov 11, 2022
396e717
Update Microsoft.Azure.Cosmos/src/HttpClient/HttpTimeoutPolicy.cs
NaluTripician Nov 11, 2022
7d6c307
Use Cosmos Exception Factory, Simplified Tests
NaluTripician Nov 11, 2022
9056324
removed unused code
NaluTripician Nov 15, 2022
24e106b
nits: removed unused code
NaluTripician Nov 15, 2022
6d4ae74
removed unused code
NaluTripician Nov 15, 2022
d3ac22a
data plane writes no longer failover on timeout
NaluTripician Dec 15, 2022
b23673e
Merge branch 'master' into users/nalutripician/httpTimeoutWrites
NaluTripician Dec 15, 2022
e1b0e49
removed duplication of test
NaluTripician Dec 15, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Microsoft.Azure.Cosmos/src/HttpClient/HttpTimeoutPolicy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ public static HttpTimeoutPolicy GetTimeoutPolicy(
return HttpTimeoutPolicyControlPlaneRetriableHotPath.Instance;
}

//Data Plane Read & Write
if (!HttpTimeoutPolicy.IsMetaData(documentServiceRequest))
//Data Plane Read
if (!HttpTimeoutPolicy.IsMetaData(documentServiceRequest) && documentServiceRequest.IsReadOnlyRequest)
{
return HttpTimeoutPolicyDefault.InstanceShouldThrow503OnTimeout;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ async Task<HttpResponseMessage> sendFunc(HttpRequestMessage request, Cancellatio

Assert.AreEqual(3, count, "Should retry 3 times");
}

[TestMethod]
public async Task HttpTimeoutThrow503TestAsync()
{
Expand Down Expand Up @@ -307,8 +307,8 @@ async Task<HttpResponseMessage> sendFunc(HttpRequestMessage request, Cancellatio
//Data plane read
await TestScenarioAsync(HttpMethod.Get, ResourceType.Document, HttpTimeoutPolicyDefault.InstanceShouldThrow503OnTimeout, typeof(CosmosException), 3);

//Data plane write
await TestScenarioAsync(HttpMethod.Post, ResourceType.Document, HttpTimeoutPolicyDefault.InstanceShouldThrow503OnTimeout, typeof(CosmosException), 1);
//Data plane write (Should throw a 408 OperationCanceledException rather than a 503)
await TestScenarioAsync(HttpMethod.Post, ResourceType.Document, HttpTimeoutPolicyDefault.Instance, typeof(TaskCanceledException), 1);

//Meta data read
await TestScenarioAsync(HttpMethod.Get, ResourceType.Database, HttpTimeoutPolicyDefault.InstanceShouldThrow503OnTimeout, typeof(CosmosException), 3);
Expand Down