Repository navigation
Expose sticky replay metadata in workflow polls - #313
Conversation
|
Reviewed candidate The implementation projects three existing affinity fields through the common The regression fails with the original poller and passes with the candidate. OpenAPI revision49 adds optional nullable fields already described by the Safe rollback is the previous Server image. New workers then use full cold The final normal perf smoke remains pending. Merge after it passes, publish |
|
The first normal perf smoke caught a real compatibility regression in the The fixture uses published PHP SDK 2.1.5. Its sticky miss validator requires The follow-up retains a null replay hint for registered PHP SDKs before 2.2.0. The 126 affected tests pass with 1,893 assertions. The real PHP 2.1.5 worker Rerun the normal source gates for the corrected candidate before merging. |
|
Reviewed corrected candidate cc43a1e against The common poll projection exposes authoritative affinity metadata. The final The 126 affected tests pass (1,893 assertions). The unchanged published PHP All normal gates now pass, including the previously failing standard-workflow Publish Server 2.5.10 and chart 0.1.147 from the merged exact tree. Rollback is |
Addresses #312. Required by durable-workflow/.github#124 and
durable-workflow/sdk-python#102.
Project the bridge's authoritative sticky identity, expiry and replay mode into
the shared workflow poll payload. Preserve full replay for PHP SDKs before
2.2.0, whose sticky fallback rejects the valid StartAccepted history prefix.
Existing routing, lease and history semantics are unchanged. No codec, type,
framing or payload acceptance changes.
The published Server 2.5.9 reproducer completes a 1,200-side-effect workflow,
but its HTTP responses omit replay modes even when the durable leased task is
sticky_hit_expected. Python cannot safely use its warm history cache.Verification
the replay mode.
cold, paginated warm, identical poll request retry and expired-affinity modes
across legacy/current PHP and Python profiles.
With the compatibility fix it recovers that original run with the complete
StartAccepted/WorkflowStarted prefix and exactly one activity/workflow
completion. Two fresh standard workflows pass with the same locked SDK.
the exact published 2.5.9 image. They verify skipping a retained middle page,
entry eviction, oversized history and replacement cold replay.
protocol version and payload codecs are unchanged.
The lockfile package graph is unchanged.
Pending final normal repository gates, review and exact published-image
verification. Keep #312 open until that verification succeeds.