refactor(rest-api): retire bespoke Flow workflows - #5656
Conversation
Signed-off-by: Kun Zhao <kunzhao@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (14)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. Summary by CodeRabbit
WalkthroughThe change moves Flow-backed endpoints to the generic proxy workflow and activity. It removes endpoint-specific workflow and activity implementations and tests. Handlers now pass descriptive workflow IDs without the ChangesFlow proxy migration
Estimated code review effort: 3 (Moderate) | ~30 minutes Merge Risk: ⚪ Minimal · up to Flow-backed handlers now use descriptive workflow IDs directly while retaining endpoint-specific ID derivation and request behavior. No concrete merge-blocking risk is established. Sequence Diagram(s)sequenceDiagram
participant APIHandler
participant InvokeFlowGRPC
participant InvokeFlowGRPCOnSite
APIHandler->>InvokeFlowGRPC: Start descriptive workflow ID
InvokeFlowGRPC->>InvokeFlowGRPCOnSite: Dispatch Flow gRPC request
InvokeFlowGRPCOnSite-->>InvokeFlowGRPC: Return Flow response
InvokeFlowGRPC-->>APIHandler: Return proxy result
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Linked Issues checkExplanation The changes complete the generic FlowProxy migration described in [ Full details: Out of Scope Changes checkExplanation The removed implementations, registrations, dedicated tests, workflow ID cleanup, and documentation updates are all related to retiring the bespoke Flow workflow surface after proxy adoption. No unrelated code changes are identified. Full details: Docstring CoverageExplanation Docstring coverage is 52.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 25 functions across 15 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f3e4bec59e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
🔐 TruffleHog Secret Scan✅ No secrets or credentials found! Your code has been scanned for 700+ types of secrets and credentials. All clear! 🎉 🕐 Last updated: 2026-09-01 23:39:14 UTC | Commit: f3e4bec |
thossain-nv
left a comment
There was a problem hiding this comment.
Looks good @kunzhao-nv BUt let's consider going back to original workflow IDs.
Signed-off-by: Kun Zhao <kunzhao@nvidia.com>
This completes the contract phase of the Flow gRPC proxy migration. #4560 registered the generic proxy alongside the per-method workers, and #4706 moved every Flow-backed API call to that proxy. The 26 rack, tray, task, task-rule, and task-run workflow/activity pairs now have no production callers, so retaining them only preserves an obsolete Temporal worker surface.
This removes those bespoke workflows, activities, registrations, and their dedicated tests. A subscriber test now pins
InvokeFlowGRPCandInvokeFlowGRPCOnSiteas the only Flow worker registrations. With the obsolete workflow types gone, this also removes the temporaryflow-grpc-namespace and restores the original descriptive workflow IDs.Related issues
Closes #4271.
Builds on #4560 and #4706.
Type of Change
Breaking Changes
Deploy this only after every cloud API instance runs a release containing #4706 and Temporal has no open execution of a removed workflow type. Let executions submitted with the temporary
flow-grpc-IDs reach their bounded completion before restoring the original IDs. During the rolling cloud API upgrade, old and new replicas can submit an identical request under both names, but both names dispatch the same generic proxy workflow. After deploying this Site Agent, rolling the cloud API back to a release before #4706 is unsupported because that API would submit workflow types the worker no longer registers.Testing
Additional Notes
The removed workflows allowed up to two activity attempts, with the longest start-to-close timeout at five minutes per attempt. Query Temporal for open legacy executions rather than relying only on an elapsed drain interval.