I have been trying to migrate a service from Heroku for a few days now. It deploys successfully and works for a few minutes (answering Render’s health checks and answering my test requests from my local browser) but then stops and restarts. Considering my application log, everything seems fine until it stops, at which point it just says “(Shutdown thread) diet stopped in 0.734s” (it’s a Java app built on Quarkus and Quarkus is sending this log). As a result, I have no clue what makes it stop. I suppose that Render makes it stop, as the same app does not stop when running on Heroku or locally (I know that this observation is of limited help but I suppose it can be useful to know anyway).
Eventually the application stops restarting, stops answering HTTP requests, and Render marks it as failed. (Other things sometimes happen such as the app not being restarted and not working any more but being shown as Live by Render, or being restarted but Render not showing the logs any more…)
The Render event logs sometimes (but not always) shows: “Server unhealthy — Exited with status 1 while running your code”. For example I have 11 such events showing up today between 1:47 PM and 3:30 PM, at irregular frequency. I have received a single email from Render today at 1:47 PM Paris time saying that my web service had failed.
My most important question is the following. If Render is making my app restart, or killing my app (for example because of an out of memory issue), will it tell me that it chose to do so? How? Knowing this would help me exclude some possible causes for this problem.
Also: can I disable auto-restart? I understand that this may be useful when availability is most important, but currently (in the testing phase) I want to know whether my service stopped and being able to investigate it by having logs which stop when the service stopped, not having the problem buried in the middle of an apparently working flow of logs.
More generally: how can I investigate this further?