elsa-workflows / elsa-workflows/elsa-core

ITenantsProvider.ListAsync causes memory/performance bottlenecks with high tenant counts

Open
#7,173 0 comments 0 reactions 0 assignees View on GitHub
triaged
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.