Skip to content

Expose experimental activity sessions and worker affinity - #1979

Draft
THardy98 wants to merge 2 commits into
mainfrom
dev/sticky-activities
Draft

THardy98 wants to merge 2 commits into
mainfrom
dev/sticky-activities

Conversation

@THardy98

Copy link
Copy Markdown
Contributor

Summary

  • Update Core to temporalio/sdk-rust@242e4f82 and regenerate bindings for changed protobuf inputs.
  • Expose experimental SessionWorkerOptions and per-activity ActivitySessionOptions across remote activity APIs, interceptors, and the Rust bridge.
  • Expose separately documented, short-lived ExperimentalWorkerAffinityOptions for stable sticky destinations and single-workflow polling.
  • Preserve default task queue/eager behavior and leave local activities unchanged.

Review guide

Review Python first, then the companion Core change: temporalio/sdk-rust#1670.

Two commits separate the Core pin/generated bindings/imported release notes from handwritten Python APIs and tests. Protobuf generation used the documented local fallback because Docker ran out of space; unchanged-input generation churn was excluded.

Validation

  • Editable extension built with poe build-develop.
  • poe test -s -n 0 tests/worker/test_activity_sessions.py tests/worker/test_worker_affinity_config.py tests/worker/test_visitor.py tests/worker/test_command_aware_visitor.py: 159 passed.
  • poe lint: passed (including all three type checkers).
  • poe bridge-lint: passed.
  • Independent review of handwritten API/bridge changes found no actionable issues.
  • Full test suite and live-server affinity, saturation, retry routing, and rate-limit tests were not run locally. Draft opened for CI and review.

Open in Delta

This branch has not been deployed

No deployments
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.

1 participant