Skip to content

💥 feature: payloads/memo size enforcement#488

Open
jmaeagle99 wants to merge 7 commits into
mainfrom
payload-limits
Open

💥 feature: payloads/memo size enforcement#488
jmaeagle99 wants to merge 7 commits into
mainfrom
payload-limits

Conversation

@jmaeagle99

Copy link
Copy Markdown

What was changed

  • Added PayloadLimitsOptions (payloads_warn_size, memo_warn_size) and wired it onto
    Connection.payload_limits; over-threshold values are logged ([TMPRL1103]) but
    still sent, 0 disables.
  • Added Worker.disable_payload_error_limit to opt out of worker error-limit
    enforcement and defer to the server.
  • Update sdk-core submodule to bring in payloads/memo size enforcement.

💥 Breaking Change

Payload size-limit enforcement is now on by default; existing code changes behavior without opting in: an oversized payload is now failed proactively by the worker (as a retryable task failure) before it's sent, rather than being sent and hard-failed by the server as before.

If you use a proxy between the worker and server that alters the size of payloads (e.g.
compression, encryption, external storage), it is advised that you disable size enforcement by
setting disable_payload_error_limit to true on the worker.

Why?

Prevent server from hard-failing workflows, activities, and operations due to payloads/memo size limit violations. Allows customers to potentially update their workflows, activities, and operations to reduce the oversized payloads/memos.

Checklist

  1. Closes SDK should fail workflow task if payloads size it known to be too large - Ruby #413
  2. How was this tested: Core library tests and minimal Ruby tests

Todo

  1. Wait for 💥 Payload limit enforcement sdk-rust#1363 to be merged
  2. Updated sdk-core submodule after 💥 Payload limit enforcement sdk-rust#1363 is merged.

@jmaeagle99 jmaeagle99 requested a review from a team as a code owner July 14, 2026 03:52
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.

SDK should fail workflow task if payloads size it known to be too large - Ruby

1 participant