Zero down time not working
imant1
FREEOP

2 months ago

Hi,

I have Teardown enabled for my backend service (Node). According to the documentation, this should ensure zero downtime: once the new deploy is active (verified through a health check), only then should the previous deploy be stopped.

However, what I’m seeing now is that the old deploy stops as soon as the new deploy begins its deployment process (after the build finishes), not after it’s actually active.

This creates a problem because the volume mount happens during the deploy process. Mounting the volume currently takes about 1 minute, while the application itself only needs ~5 seconds to start listening for requests. As a result, there’s downtime during the volume mounting step.

I’d like to propose the following improvements:

  1. Ideally, ensure the old deploy only stops once the new deploy is actually listening to requests, not at the start of the deployment phase.

  2. If that’s not possible, provide an option to mount the volume before the deployment phase, so it doesn’t cause delays during the switchover.

Thanks for your time and help!

Solved

2 Replies

Railway
BOT

2 months ago

Hey there! We've found the following might help you get unblocked faster:

If you find the answer from one of these, please let us know by solving the thread!


brody
EMPLOYEE

2 months ago

Hello,

Unfortunately, zero downtime with a volume is not possible, as outlined in our docs:

https://docs.railway.com/reference/volumes#caveats

A volume cannot be mounted to two deployments at the same time, so your suggestions aren't currently feasible to implement.

I don't know anything about your architecture, but some alternatives could be to use our newly released S3-compatible buckets for storage, or attach a volume to a separate microservice that is only responsible for serving the files in the volume.

Best,
Brody


Status changed to Awaiting User Response Railway 2 months ago


Status changed to Solved imant1 2 months ago


Loading...