argoproj / argoproj/argo-workflows

Add a ENV to use patch pod to update results

Open
#14,858 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.