elsa-workflows / elsa-workflows/elsa-core
ITenantsProvider.ListAsync causes memory/performance bottlenecks with high tenant counts
- Dominant language
- C#
- Stars
- 7.9k
- Forks
- 1.5k
- Avg merge
- 15h 22m
- Merged PRs (30d)
- 114
Description
Currently, the ITenantsProvider interface requires implementing ListAsync(), which returns Task>. While this works for small deployments, it does not scale for multi-tenant SaaS environments with hundreds or thousands of tenants.
ListAsync() loading all tenant configurations into memory.
Contributor guide
Research direction
Start by reading the ITenantsProvider interface and tracing its ListAsync() implementations and callers. Determine how tenant configurations are loaded and identify existing tests or benchmarks for tenant enumeration; done should mean high-tenant-count usage no longer creates the reported memory and performance bottleneck.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend, performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100