[1.18] Fix actor drain timeout and placement dissemination docs - #5298
Open
JoshVanL wants to merge 2 commits into
Open
[1.18] Fix actor drain timeout and placement dissemination docs#5298JoshVanL wants to merge 2 commits into
JoshVanL wants to merge 2 commits into
Conversation
The actor runtime configuration page claimed drainOngoingCallTimeout defaults to 60 seconds; the runtime default has been 2 seconds since v1.17.0 (DefaultOngoingCallTimeout in pkg/actors/api/config.go). The drain timeout clamp also shipped in v1.17.7, not v1.18 as stated. Rewrite the drain timeout clamping section to distinguish the two dissemination timeouts: the daprd-side --actors-disseminate-timeout (default 30s, which the clamp compares against) and the Placement service --disseminate-timeout (Helm dapr_placement.disseminateTimeout, default 8s, the deadline after which Placement kicks a non-responsive sidecar from the round). Add guidance to keep drain values below the Placement dissemination timeout, since values that pass the clamp can still delay the table update acknowledgement past the 8s deadline. Correct the kubernetes-production description of disseminateTimeout: it is the dissemination round failure deadline, not a dissemination delay; the default is 8s, and there is no enforced 1s-3s range. Document the --actors-disseminate-timeout daprd argument and the dapr.io/actors-disseminate-timeout annotation, which were previously missing from the arguments and annotations overview. Update example drainOngoingCallTimeout values (60s, 1m, 35s, 30s) to 5s across the runtime config page, actors API reference, and .NET and JavaScript SDK docs, so the examples are no longer silently clamped and stay within the Placement dissemination budget. Add the 2 second default to the API reference tables. Signed-off-by: joshvanl <me@joshvanl.dev>
alicejgibbons
requested changes
Aug 26, 2026
Signed-off-by: joshvanl <me@joshvanl.dev>
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.
The actor runtime configuration page claimed drainOngoingCallTimeout defaults to 60 seconds; the runtime default has been 2 seconds since v1.17.0 (DefaultOngoingCallTimeout in pkg/actors/api/config.go). The drain timeout clamp also shipped in v1.17.7, not v1.18 as stated.
Rewrite the drain timeout clamping section to distinguish the two dissemination timeouts: the daprd-side --actors-disseminate-timeout (default 30s, which the clamp compares against) and the Placement service --disseminate-timeout (Helm dapr_placement.disseminateTimeout, default 8s, the deadline after which Placement kicks a non-responsive sidecar from the round). Add guidance to keep drain values below the Placement dissemination timeout, since values that pass the clamp can still delay the table update acknowledgement past the 8s deadline.
Correct the kubernetes-production description of disseminateTimeout: it is the dissemination round failure deadline, not a dissemination delay; the default is 8s, and there is no enforced 1s-3s range.
Document the --actors-disseminate-timeout daprd argument and the dapr.io/actors-disseminate-timeout annotation, which were previously missing from the arguments and annotations overview.
Update example drainOngoingCallTimeout values (60s, 1m, 35s, 30s) to 5s across the runtime config page, actors API reference, and .NET and JavaScript SDK docs, so the examples are no longer silently clamped and stay within the Placement dissemination budget. Add the 2 second default to the API reference tables.