Skip to content

perf(syncRole): Implementing parallel processing and thread pool#3

Open
christosarvanitis wants to merge 2 commits into
release-1.36.xfrom
perf/syncRole
Open

perf(syncRole): Implementing parallel processing and thread pool#3
christosarvanitis wants to merge 2 commits into
release-1.36.xfrom
perf/syncRole

Conversation

@christosarvanitis

Copy link
Copy Markdown
Member

We prefer small, well tested pull requests.

Please refer to Contributing to Spinnaker.

When filling out a pull request, please consider the following:

  • Follow the commit message conventions found here.
  • Provide a descriptive summary for your changes.
  • If it fixes a bug or resolves a feature request, be sure to link to that issue.
  • Add inline code comments to changes that might not be obvious.
  • Squash your commits as you keep adding changes.
  • Add a comment to @spinnaker/reviewers for review if your issue has been outstanding for more than 3 days.

Note that we are unlikely to accept pull requests that add features without prior discussion. The best way to propose a feature is to open an issue first and discuss your ideas there before implementing them.

christosarvanitis and others added 2 commits April 17, 2026 16:46
…d parallel with cache pre-warming

- Revert default resolveResources() from parallelStream() back to sequential
  stream() to prevent memory explosion from concurrent allocation of filtered
  resource sets for all users simultaneously
- Add batched processing for parallel executor path (configurable batch-size,
  default 500) to cap peak memory when parallelThreads > 1
- Pre-warm resource provider caches before parallel execution so threads don't
  block on HTTP calls to Front50/Clouddriver causing ForkJoinPool thread
  compensation cascade
- Add 5 new test cases covering sequential default, batched parallel with
  cache warming, large user sets, batch size enforcement, and safe shutdown
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.

2 participants