argoproj / argoproj/argo-workflows
Add a ENV to use patch pod to update results
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 138
Description
# Summary
Add a ENV to use patch pod to update result
## Use Cases
Large scale workflow (over 1w+ workflows)
Now, for safety reasons. We use workflowtaskresults to transform results.
But in Large scale scenario,the performence for watch workflowtaskresults can be a bottleneck,
In 1w running workflow,one workflow for 16 pods(In a diamond workflow with podGC set to podSucceeded, pod number won't be very high), but the workflowtaskresults can be 16w,the update event was observed very slowly and the update speed of each step was reduced,which causing the workflow progresses very slowly.
After use patch pod,the overall speed was doubled.
Therefore, I thought it would be helpful to provide an option, in large-scale scenarios, to allow users who are not particularly sensitive to patch pod permissions to use the patch pod instead of the workflowtaskresult.
---
**Message from the maintainers**:
Love this feature request? Give it a 👍. We prioritise the proposals with the most 👍.
Contributor guide
Research direction
Start by tracing the workflowtaskresults update path and the existing patch-pod path in the Argo Workflows codebase. Determine where an environment setting could select between them, then verify the choice and its performance impact in a large-scale workflow; the issue does not name specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- backend, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100