argoproj / argoproj/argo-workflows

Lazy-load CronWorkflows in the Workflow list page to reduce memory usage

Open
#15,097 0 comments 3 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
17k
Forks
3.7k
Avg merge
1d 20h
Merged PRs (30d)
138

Description

# Summary

What change needs making?

When opening the Workflow list page, all CronWorkflows are loaded at once (Maybe this fetch is performed to provide data for the selector component).
Therefore, simply opening the Workflow list page causes high memory usage on the server container, when there are many CronWorkflows.

I would like to request changing this behavior to a lazy-load approach so that CronWorkflows are retrieved only when needed.

Related issue: https://github.com/argoproj/argo-workflows/issues/14910

## Use Cases

When would you use this?

For example, when opening the Workflow list page in a namespace with a large number of CronWorkflows, loading all items at once occurs, leading to increased memory usage or even OOM errors.
By switching to lazy-loading, memory usage can be optimized, and the Workflow list page will become more efficient and reliable.

---

**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 how the Workflow list page requests CronWorkflows and how that data supports the selector component. Confirm when CronWorkflows are actually needed, then verify that opening a namespace with many CronWorkflows no longer loads them all at once and avoids the reported memory growth or OOM risk.

Written by the indexing model from the issue text.

Assessment

Domain
full-stack
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.