Ship Workflow 2.0.13 projection improvement in Server 2.3.11 - #162
Conversation
|
The first perf smoke failed its transient polling-cache ceiling, not execution correctness: 16/16 SDK Standard Workflows completed with zero errors; 1,000 synthetic starts were accepted; all 24 periodic samples were healthy. Peak polling keys were 2,108 against 2,048; peak total cache was 3,164 against 4,096. All tracked cache keys expired to zero. The 29 remaining ready synthetic tasks are not a drained-task-backlog claim. The workload retains a binding and replay-result key for each leased poll. Its 1,000-start burst can therefore occupy 2,000 keys before empty/in-flight polls or the independent SDK canary. The samples peak near the end of that burst and then decline; the retained keys expire, as the store contract requires. The old 48-key headroom is too narrow for this workload. The follow-up commit budgets 3,072 polling keys for this short smoke only, with the rationale beside the setting. The 4,096 total-cache ceiling, zero-after-expiry requirement, workload, TTLs, admission limits, latency checks and paid-soak settings are unchanged. No Server behavior was modified. Existing harness contract checks pass: 28 tests, 446 assertions. The original failed run remains visible; the revised CI must pass before publication. Original run: https://github.com/durable-workflow/server/actions/runs/34637148480 |
|
A separate setup failure affected feature run 34639326380 before PHPUnit started: Docker Hub denied the pinned MinIO image pull. The earlier feature run 34637148533 successfully pulled that exact digest and passed. A direct fresh registry check now reproduces the denial. Upstream Quay serves the identical sha256:14cea493d9a34af32f524e538b8346cf79f3321eff8e708c1e2960462bd8936e manifest, including the existing amd64 child a1a8bd4a. A complete fresh pull and offline |
|
Merged after all checks passed at 9bc9e61. Latest smoke 34639729198 completed 15/15 SDK Standard Workflows with zero errors; 1,000 synthetic starts accepted; tracked polling and total cache drained to zero. Peaks: 1,634 polling keys and 2,480 total cache keys. The 27 ready synthetic tasks remain explicitly distinct from cache cleanup and real SDK completions. Merge commit 14ecd36 has the exact tested tree. Immutable tag 2.3.11 now points to that commit and starts the repository release workflow. Image/chart publication and published-image follow-through are pending; the tag alone is not delivery proof. |
Change
Adopt published Workflow 2.0.13 (
3fff6e737a92854a48b28dede8f7654f198cf7a5) for durable-workflow/workflow#508. Full monitoring projection now avoids per-row lookup queries and duplicate same-pass activity/timer derivation while preserving configured models, hooks, concurrent upsert recovery, and projection repair.Prepare Server 2.3.11 / Helm 0.1.90 through the existing source-release synchronizer. Only Workflow changes in the Composer lock; all other dependencies, resource defaults, workloads, and portable contracts are unchanged.
Two CI-only corrections were needed during qualification:
Verification
9bc9e61b: feature, MySQL/PostgreSQL rolling-upgrade, replay/query HTTP, Helm lint/install, contracts and performance smoke (run).Delivery
After required checks, publish the immutable image/chart and verify its bundled Workflow identity. Run a published-image workflow/activity/timer/projection check before calling Server delivery complete. No production capacity claim, resource change, or unchanged SDK release is implied.