Skip to content

[testcore] Shared cluster pool for clusters that require WorkerService#10905

Draft
long-nt-tran wants to merge 1 commit into
temporalio:mainfrom
long-nt-tran:system-worker-pool
Draft

[testcore] Shared cluster pool for clusters that require WorkerService#10905
long-nt-tran wants to merge 1 commit into
temporalio:mainfrom
long-nt-tran:system-worker-pool

Conversation

@long-nt-tran

Copy link
Copy Markdown
Contributor

What changed?

Added a sharedWithWorker, which is a reusable pool of test clusters for cluster setups that require the system workers.

Why?

Right now, when a test requires system workers, we give it a dedicated cluster. However, this is heavy, and if we do this for all tests that require system workers, we risk a lot of OOM kills.

Technically speaking, reusing a cluster that has system workers is completely fine, so this PR does this by default (i.e., if we only enable system workers with no special configs, then we should aim to reuse this cluster).

For now, I'm creating a new shared pool of cluster-with-worker-service, rather than having a single shared pool, so we don't have to scan the entire pool to see which cluster is reusable.

How did you test it?

  • built
  • run locally and tested manually
  • covered by existing tests
  • added new unit test(s)
  • added new functional test(s)

Potential risks

Also re-enabled system workers + parallelization on some existing tests that were made to be sequential to avoid OOMs, so I'll watch out for OOMs from those.

@long-nt-tran long-nt-tran requested review from a team as code owners July 1, 2026 22:36
@long-nt-tran long-nt-tran marked this pull request as draft July 1, 2026 22:36
@long-nt-tran long-nt-tran force-pushed the system-worker-pool branch 6 times, most recently from 64ac31e to db86e1e Compare July 2, 2026 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant