-
Notifications
You must be signed in to change notification settings - Fork 4.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
[BUG][Storage] Client side encryption causes high CPU. #21594
Labels
bug
This issue requires a change to an existing behavior in the product in order to be resolved.
Client
This issue points to a problem in the data-plane of the library.
customer-reported
Issues that are reported by GitHub users external to the Azure organization.
needs-team-attention
Workflow: This issue needs attention from Azure service team or SDK team
Storage
Storage Service (Queues, Blobs, Files)
Milestone
Comments
kasobol-msft
added
Storage
Storage Service (Queues, Blobs, Files)
Client
This issue points to a problem in the data-plane of the library.
customer-reported
Issues that are reported by GitHub users external to the Azure organization.
bug
This issue requires a change to an existing behavior in the product in order to be resolved.
labels
Jun 4, 2021
ghost
added
the
needs-team-attention
Workflow: This issue needs attention from Azure service team or SDK team
label
Jun 4, 2021
We are running into the same issue with latest Storage SDK. Production workloads are impacted during the peak hours. Having to scale up/out is incurring additional business costs. |
Repro:
Proposed solution is to inject layer of buffering between |
Fix available in https://www.nuget.org/packages/Azure.Storage.Blobs/12.9.0 |
azure-sdk
pushed a commit
to azure-sdk/azure-sdk-for-net
that referenced
this issue
Nov 18, 2022
lint error fix (Azure#21594) Co-authored-by: Anandaraj Selvam <anselvam@microsoft.com>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
bug
This issue requires a change to an existing behavior in the product in order to be resolved.
Client
This issue points to a problem in the data-plane of the library.
customer-reported
Issues that are reported by GitHub users external to the Azure organization.
needs-team-attention
Workflow: This issue needs attention from Azure service team or SDK team
Storage
Storage Service (Queues, Blobs, Files)
On behalf of customer.
When client side encryption is used it wraps a stream here:
azure-sdk-for-net/sdk/storage/Azure.Storage.Blobs/src/BlobBaseClient.cs
Lines 1072 to 1084 in f8f89a8
The actual wrapping happens here:
azure-sdk-for-net/sdk/storage/Azure.Storage.Common/src/Shared/ClientsideEncryption/ClientSideDecryptor.cs
Line 243 in f8f89a8
The CryptoStream uses low block size leading to multiple unbuffered reads from network.
This in turn creates a lot of trace event emission from RetriableStream.
Desired solution is to inject buffering between crypto stream and network stream, or make crypto stream respect buffering settings from callers.
The text was updated successfully, but these errors were encountered: