Upgrade failed due to process terminating

Hey everyone!

I’ve been struggling with the exact same problem as @shadowhand since my first steps with Discourse a few weeks ago. For me, it is still not resolved on current beta.

After having a look at message_bus.rb, I think the problem is as follows: The default keepalive_interval is set to 60 seconds and the subscriber is killed after 3x this interval, i.e. after ~ 3 minutes. The asset precompilation for some files takes about 5 minutes on my DigitalOcean droplet.

Without having further investigated the asset compilation step, my guess would be that while a single asset is compiling, the subscriber is blocked, can’t respond to the keepalive and… gets killed mercilessly :wink: .

To confirm this, I’ve set the default keepalive_interval to 0, which disables the keepalive mechanism. Asset precompilation then runs through as expected :smile: .

Maybe a solution would be to disable or raise the keepalive_interval for the asset precompilation step? Anyway, hope this will help you to fix this bug.

PS: Thank you for your awesome work on Discourse!

4 Likes

I plan to change it so all rake tasks manually disable the keepalive checks.

If you want to give it a shot in a PR let me know.

Basically anything that is a rake task should disable this in message bus.

3 Likes

This should be fixed now per:

https://github.com/discourse/discourse/commit/08ee367210f72d5eb33763c7db4bb7e9e9e32ba3

4 Likes