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
* inital commit for throughput bucket
* added test for throughput bucket
* got rid of extra comment
* sync part of throughput headers
* added async part with new test file
* added async part with tests
* got rid of extra space
* added _async label to test_headers_async
* removed extra line
* removed unnecessary syntax
* made requested changes on pr, mostly for async tests
* added another finally block to test_headers
* edited replace container test
* added sample files and section to the readme
* got rid of trailing whitespace
* added negative test, added to changelog
* added header to changelog
* got rid of extra ,
* edited readme for new sample file names
* marked negative test as TODO
---------
Co-authored-by: Andrew Mathew <[email protected]>
Copy file name to clipboardExpand all lines: sdk/cosmos/azure-cosmos/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,7 @@
3
3
### 4.10.0b5 (Unreleased)
4
4
5
5
#### Features Added
6
+
* Added ability to set `throughput_bucket` header at the client level and for all requests. See [PR 40340](https://github.com/Azure/azure-sdk-for-python/pull/40340).
6
7
* Added ability to use Filters from Logging module on Diagnostics Logging based on Http request/response related attributes. See [PR 39897](https://github.com/Azure/azure-sdk-for-python/pull/39897)
Copy file name to clipboardExpand all lines: sdk/cosmos/azure-cosmos/README.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -874,6 +874,20 @@ may have additional latencies associated with searching in the service.
874
874
875
875
You can find our sync samples [here][cosmos_index_sample] and our async samples [here][cosmos_index_sample_async] as well for additional guidance.
876
876
877
+
### Public Preview - Throughput Buckets
878
+
When multiple workloads share the same Azure Cosmos DB container, resource contention can lead to throttling, increased latency, and potential business impact.
879
+
To address this, Cosmos DB allows you to allocate throughput buckets, which help manage resource consumption for workloads sharing a Cosmos DB container by limiting the maximum throughput a bucket can consume.
880
+
However, throughput isn't reserved for any bucket, it remains shared across all workloads.
881
+
882
+
Up to five (5) throughput buckets can be configured per container, with an ID ranging from 1-5. Each bucket has a maximum throughput percentage, capping the fraction of the container’s total throughput that it can consume.
883
+
Requests assigned to a bucket can consume throughput only up to this limit. If the bucket exceeds its configured limit, subsequent requests are throttled.
884
+
This ensures that no single workload consumes excessive throughput and impacts others.
885
+
886
+
Throughput bucket configurations can be changed once every 10 minutes, otherwise the request is throttled with an HTTP 429 status code and substatus code 3213.
887
+
Also, requests with an invalid bucket ID (less than 1 or greater than 5) results in an error, as only bucket IDs 1 to 5 are valid.
888
+
889
+
You can find our sync samples [here][cosmos_throughput_bucket_sample] and our async samples [here][cosmos_throughput_bucket_sample_async] as well for additional guidance.
890
+
877
891
## Troubleshooting
878
892
879
893
### General
@@ -1046,6 +1060,8 @@ For more extensive documentation on the Cosmos DB service, see the [Azure Cosmos
0 commit comments