Skip to content

fix(common): reduce serenity dev compose memory overhead#206

Merged
TorinAsakura merged 2 commits into
masterfrom
fix/serenity-dev-memory-usage
Jun 12, 2026
Merged

fix(common): reduce serenity dev compose memory overhead#206
TorinAsakura merged 2 commits into
masterfrom
fix/serenity-dev-memory-usage

Conversation

@TorinAsakura

@TorinAsakura TorinAsakura commented Jun 12, 2026

Copy link
Copy Markdown
Member

Таска

Refs atls/planning#540

Что сделано

  • Убран modules:/workspace/node_modules из dev-контейнеров: текущий compose больше не монтирует legacy node_modules volume в PnP-контур.
  • Helper yarn вынесен из default compose в profile tools, чтобы пустой docker compose up не запускал yarn install и не ловил OOM на вспомогательном контейнере.
  • Node dev-контейнеры переведены на запуск штатных Raijin-команд из директории workspace-пакета: yarn service dev / yarn renderer dev, без yarn workspace <pkg> <script> trampoline.
  • Для backend/gateway service dev задан PnP NODE_OPTIONS, чтобы Raijin plugin-service не уходил в proxy child Yarn.
  • Для Node dev-контейнеров включён init: true, чтобы Docker корректно reaped/forwarded child-процессы webpack/app runtime.

Как проверять

  • docker compose config --quiet
  • git diff --check
  • docker compose up -d --remove-orphans
  • docker compose ps -a
  • docker stats --no-stream ...

Фактическая проверка

  • До правки: default compose ловил OOM: serenity-yarn-1 Exited 137 с OOMKilled=true, public-gateway Exited 129 с OOMKilled=true; baseline Node/watch контейнеров был порядка 430-760 MiB на сервис плюс лишний yarn helper.
  • После правки: backend/gateway default compose держался после warmup без runtime OOMKilled=true; yarn helper больше не входит в default profile.
  • Контрольный catalog-service с контрактным entrypoint: yarn: процессное дерево стало docker-init -> yarn -> yarn-remote service dev -> app child; Raijin proxy child Yarn не вернулся благодаря PnP NODE_OPTIONS.
  • Warmup default compose: backend/gateway были running; обычные сервисы держали примерно 150-580 MiB, gateways оставались тяжёлыми, до 1.4-1.6 GiB на watch-прогреве.

Не закрыто этим PR

  • site-local, identity, email renderer-контейнеры завершаются Exited (0) на yarn renderer dev; smoke frontend не считается пройденным.
  • Gateway watch-процессы всё ещё тяжёлые; #540 оставлен открытым для дальнейшего снижения dev-runtime бюджета.

@TorinAsakura TorinAsakura marked this pull request as ready for review June 12, 2026 16:40
@TorinAsakura TorinAsakura merged commit 0ff61a9 into master Jun 12, 2026
0 of 2 checks passed
@TorinAsakura TorinAsakura deleted the fix/serenity-dev-memory-usage branch June 12, 2026 16:46
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