Skip to content

fix(genre-tree): cap full-list page fetches at 4 concurrent - #178

Merged
Andreas-Garcia merged 1 commit into
developfrom
feature/bounded-full-list-concurrency
Oct 2, 2026
Merged

Andreas-Garcia merged 1 commit into
developfrom
feature/bounded-full-list-concurrency

Conversation

@Andreas-Garcia

Copy link
Copy Markdown
Member

Summary

useListFullGenrePlaylists fetched every remaining page at once through Promise.all. For the canonical tree that is 17 parallel requests. On staging they OOM-killed grow-front's 96m proxy container, and the browser got 502s on /api/grow-proxy/genre-playlists?page=N.

The remaining pages now go through a pool of 4 workers. Results stay in page order and the error behaviour is unchanged.

Tests

  • New test asserts at most 4 requests are in flight across 18 pages and that results keep page order.
  • Full suite: 606 passed. Lint and build pass.

Related infra mitigation: BehindTheMusicTree/infrastructure#206 (mem_limit 96m to 192m).

🤖 Generated with Claude Code

Fetching all remaining pages in parallel sent 17 concurrent requests for
the canonical tree, OOM-killing grow-front's proxy container (502s).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 2, 2026 15:16
@Andreas-Garcia
Andreas-Garcia merged commit 02d37cb into develop Oct 2, 2026
2 of 3 checks passed
@Andreas-Garcia
Andreas-Garcia deleted the feature/bounded-full-list-concurrency branch October 2, 2026 15:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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