Closed derwaldgeist closed 4 months ago
I analyzed this a bit further and noticed that mup
deploys successfully if I disable a job that runs at server start. This job retrieves data from Google Transit and processes it. The thing is: This job only takes about 4s to finish, and the problem occurs even if I put it in an async thread, using Meteor.defer
.
How can this affect mup's startup verification, and why didn't this happen before?
Usually the log message [staging.marblever.se]/home/app/scripts/start.sh: line 34: 502 Killed node main.js
is from the server running out of memory and linux stopping the app.
@zodern Thanks for the fast response. That's interesting. The data I am processing is not very big, though. And it takes just 4s to process locally on my dev machine.
Closing this issue now, since it might not be related to mup
. Or might there be any reasons why mup
itself uses a lot of memory?
It's also strange that the verifying process takes ages, even if it runs through. I did not experience this behaviour before, using the same server configuration. What exactly is mup
doing when "verifying"?
Or might there be any reasons why mup itself uses a lot of memory?
Unless you are deploying multiple apps to the server at the same time, I wouldn't expect mup itself to take much memory.
One option would be to ssh onto the server during the deploy and run htop
or docker stats
and monitor how much memory is being used.
What exactly is mup doing when "verifying"?
It uses curl to try loading the app until it succeeds or it runs out of time (the default is 60 seconds). Each time it gets the container's current ip address. Sometimes the container doesn't have an ip address at the moment, usually due to the app crashing and the container in the process of restarting. If that happens enough times, it will fail the deploy early instead of waiting the full amount of time.
Thanks for sharing these insights. I'll investigate further.
Hey, I redeployed one of my systems recently and noticed that the "Verification" step took ages. Eventually, it breaks most of the time with the error log below (it seems to have tried to start the container 10 times). I already increased the timeout to 240s, but it still happens (I was able to deploy successfully one time, but mostly it breaks). The same happens if I just do
mup start
. It says "Starting ... Success", but then it breaks while verifying.I even setup a whole new EC2 instance, but this did not help.
Is there any thing that I can do to troubleshoot this?
I'm using
meteor 2.6.1
withmup 1.5.10
in combination with the 'zodern/meteor:root' docker image andmup redis
(3.2.10-alpine
). Deployment worked fine before, with the same configuration.If I run
mup logs
, I get this output:Using
mup status
, I can see the following red lines indicating an error: