Skip to content

Set default large payload offloading threshold to 256 KiB#755

Merged
torosent merged 1 commit into
mainfrom
torosent-large-payload-default-256kb
Jul 1, 2026
Merged

Set default large payload offloading threshold to 256 KiB#755
torosent merged 1 commit into
mainfrom
torosent-large-payload-default-256kb

Conversation

@torosent

@torosent torosent commented Jul 1, 2026

Copy link
Copy Markdown
Member

Summary

Changes the default large payload externalization (offloading) threshold in
LargePayloadStorageOptions.ThresholdBytes from 900,000 bytes to
256 KiB (262,144 bytes).

When the Azure Blob Payloads extension is enabled, payloads whose serialized
size is >= ThresholdBytes are stored out-of-band in Azure Blob Storage instead
of being sent inline. This lowers the default threshold so more payloads are
offloaded by default.

Note: The Azure Blob Payloads (large payload offloading) extension is still
a preview feature (shipping in the 1.25.0-preview.* line), so its defaults
and API surface may change before GA.

Behavioral change ⚠️

This is an intentional behavioral change. Callers who enabled blob payload
offloading without explicitly setting ThresholdBytes will now externalize
payloads in the 262,144–899,999 byte range that previously stayed inline (adding
blob I/O, a storage dependency, and cost/latency for those payloads). As this is
a preview feature, the default is still subject to change pre-GA.

Migration: to keep the previous behavior, set ThresholdBytes = 900_000
explicitly.

Change the default LargePayloadStorageOptions.ThresholdBytes from
900,000 bytes to 256 KiB (262,144 bytes).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 1, 2026 16:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Lowers the default large-payload offloading threshold for the Azure Blob Payloads extension so that more serialized payloads are externalized to Azure Blob Storage by default. This is a behavioral change for consumers who enable the feature but do not explicitly set ThresholdBytes.

Changes:

  • Updated LargePayloadStorageOptions default ThresholdBytes from 900,000 to 256 KiB (262,144) and refreshed the XML doc accordingly.
  • Updated the integration test that asserts the default threshold value.
  • Added an Unreleased changelog entry describing the new default.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
src/Extensions/AzureBlobPayloads/Options/LargePayloadStorageOptions.cs Changes the default threshold backing field to 256 * 1024 and updates the public XML doc to match.
test/Grpc.IntegrationTests/LargePayloadStorageOptionsTests.cs Updates the default-value assertion/test name to validate the new 256 KiB default.
CHANGELOG.md Documents the default-threshold change under Unreleased.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants