Skip to content

🐛 fix frontend startup ordering and Ray shm sizing in docker-compose.yml - #530

Open
yuehuiqi wants to merge 2 commits into
ModelEngine-Group:mainfrom
yuehuiqi:fix/frontend-startup-order-and-ray-shm
Open

🐛 fix frontend startup ordering and Ray shm sizing in docker-compose.yml#530
yuehuiqi wants to merge 2 commits into
ModelEngine-Group:mainfrom
yuehuiqi:fix/frontend-startup-order-and-ray-shm

Conversation

@yuehuiqi

@yuehuiqi yuehuiqi commented Aug 1, 2026

Copy link
Copy Markdown

Fixes #529.

  • datamate-frontend now also depends on datamate-gateway, avoiding cold-start failures where the frontend starts before the gateway is reachable.
  • datamate-runtime now sets shm_size: "10gb" and RAY_DEFAULT_OBJECT_STORE_MEMORY_PROPORTION: "0.5", avoiding Ray object-store OOM under Docker's default 64MB /dev/shm.

How tested

Verified the compose file still parses correctly (yaml.safe_load) and the diff only touches the two services described above -- no other services or the newer log-rotation env vars were affected.

Copilot AI review requested due to automatic review settings August 1, 2026 13:11

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.

Pull request overview

This PR updates the Datamate Docker Compose deployment to reduce cold-start failures in the frontend and prevent Ray object-store OOMs caused by Docker’s small default /dev/shm.

Changes:

  • Add datamate-gateway to datamate-frontend.depends_on to improve startup ordering.
  • Increase datamate-runtime shared memory via shm_size: "10gb".
  • Set RAY_DEFAULT_OBJECT_STORE_MEMORY_PROPORTION: "0.5" for Ray in datamate-runtime.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 91 to 94
depends_on:
- datamate-gateway
- datamate-backend
- datamate-backend-python
…ce_healthy

depends_on only sequenced container start, not readiness -- the frontend could
still race the gateway before it was actually accepting connections. Added a
healthcheck to datamate-gateway (curl against its own port; there's no Spring
Boot Actuator on this image per backend/api-gateway/pom.xml, so a plain
"did we get any HTTP response" check is the honest signal available) and
switched datamate-frontend's dependency on it to condition: service_healthy.
backend/backend-python keep condition: service_started (unchanged behavior).
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.

datamate-frontend 冷启动时可能连不上 datamate-gateway;datamate-runtime 在 Docker 默认共享内存下可能 OOM

2 participants