Repository navigation
docs: explain received Rust activity retry budgets - #395
Merged
Merged
Conversation
rmcdaniel
marked this pull request as ready for review
October 23, 2026 13:42
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Rust activity handlers need to distinguish a received finite retry budget, explicit unlimited retries and unknown metadata before selecting a final-configured-attempt fallback. All eight Rust guides now explain the original immutable attempt/policy, ActivityAttemptLimit and is_last_configured_attempt, with a handler recipe. Refs #394 and sdk-rust#135 / .github#250.
Only an object with max_attempts:null is unlimited. Omitted/root-null/malformed metadata stays unknown, including the actual published Server2.11.0 no-authored-policy control. A remaining budget does not promise another execution before nonretryable failure, cancellation, closure or deadlines. Local/direct activity tests have no Server snapshot; fresh workflow tests expose their modeled history. The selected tuple and other SDKs remain unchanged.
The release gate is complete: normal installed4.8.0 acceptance and OIDC39961339382 pass. Source/tag is
d8711dd1e976186cdedcfab48922a4fc559b111b; registry/archive/normal lock SHA256 ise62a4503448236d342fd43874de373785e1f745bad8481420d6c0af0d45f2c10. The SDK owner compiled and ran this exact helper with the normal installed Rust1.86 graph:e7aec8ee8dfbec29fac74baf21ab87fcca4dc6bb2e4903b25f0ece1aba9d3b34. Ordinary/cooperative actual published Server controls retain omitted-policy Unknown and early nonretryable stop. Website independently checked the registry/archive/VCS identity, all56 Rust-source/README files against the immutable source, and HTTP200/version4.8 for all three referenced API pages. No source overlay or duplicate runtime qualification. All eight guides link the installed receipt.Local validation: all seven reviewed-source hashes and complete executable blocks match English; whitespace checks pass. Exact-head all-locale CI, Sonar review, actual Pages deployment and all eight live guides precede Website delivery. SDK135 and shared250 product closure remain with their owners.
Delivery complete: merge
da60e7c71305abbb14dc30197c96907e5762d5e9; exact CI39963232892, artifact39965567069 and actual Pages39967214078 pass. All eight live routes, actual copied helper bytes, retry table, navigation, metadata and en/ja/zh mobile light/dark views verified. Website #394 is complete; SDK/shared closure stays with owners.