-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Open connections through rntbd #28470
Conversation
API change check for API changes have been detected in API changes - @Beta public Mono<Void> openConnectionsAndInitCaches()
+ @Deprecated @Beta public Mono<Void> openConnectionsAndInitCaches()
+ @Beta public Mono<String> openConnectionsAndInitializeCaches()
- @Beta public void openConnectionsAndInitCaches()
+ @Deprecated @Beta public void openConnectionsAndInitCaches()
+ @Beta public String openConnectionsAndInitializeCaches()
- V4_28_0;
+ V4_28_0,
+ V4_29_0; |
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncContainer.java
Outdated
Show resolved
Hide resolved
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentClientImpl.java
Outdated
Show resolved
Hide resolved
...os/src/main/java/com/azure/cosmos/implementation/directconnectivity/GatewayAddressCache.java
Show resolved
Hide resolved
awesome charts, wonder if we can capture all these in a "Doc" folder. I remember we had one, can't find it anymore. @kushagraThapar ? |
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncContainer.java
Outdated
Show resolved
Hide resolved
|
null, null); | ||
null, | ||
null, | ||
ConnectionPolicy.getDefaultPolicy(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: indent
...c/test/java/com/azure/cosmos/implementation/directconnectivity/RntbdTransportClientTest.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Annie - very clean, good PR description - looks very good.
API change check APIView has identified API level changes in this PR and created following API reviews. |
/azp run java - cosmos - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run java - cosmos - tests |
Azure Pipelines successfully started running 1 pipeline(s). |
Tested locally: |
/check-enforcer evaluate |
/check-enforcer override |
* openAsync through rntbd Co-authored-by: annie-mac <annie-mac@annie-macs-MacBook-Pro.local> Co-authored-by: annie-mac <annie-mac@XBX-2505-B09E.redmond.corp.microsoft.com> Co-authored-by: annie-mac <annie-mac@yindeng2019.fareast.corp.microsoft.com>
Task: #28267
Description
Currently we have the api on container openConnectionsAndInitCaches , which leverage dummy query on all feed ranges to open connection , with retry capability to increase the chances of touching max replica
Problem with current approach
Changes:
High level workflow:
![image](https://user-images.githubusercontent.com/64233642/164757727-6969f968-2571-4178-b038-3a1fd5f8beaa.png)
Major change in Rntbd layer:
![image](https://user-images.githubusercontent.com/64233642/164758054-739e543a-e116-4c1f-9984-28d61bd0b7b5.png)
Normal request flow:
Open request flow:
![image](https://user-images.githubusercontent.com/64233642/164758130-dba14e74-e4be-4d42-8299-567ee98a50f3.png)
BenchmarkTests:Same region, Document Count 100,000, RU configured 100,000, 8 CPU core
![image](https://user-images.githubusercontent.com/64233642/168965138-2b55157a-b9e3-47b5-99c6-bcc9ac6333d9.png)
P95 Latency:
P99 Latency:
![image](https://user-images.githubusercontent.com/64233642/168965186-b62c3f7d-8e2a-4b36-a08c-618ba0d20382.png)
P999 Latency:
![image](https://user-images.githubusercontent.com/64233642/168965246-dd714348-57e4-41f5-b5a5-e34888ab4e72.png)
Throughput:
![image](https://user-images.githubusercontent.com/64233642/168965326-6b76f5a9-38a5-489b-bbf1-149c5eba27d9.png)