Linked to the posts here where it was suggested this may be a bug.
AI-generated summary
The discussion revolves around a bug in Discourse where a browser upgrade fails when the system is configured to use one unicorn worker. RBoy links to previous posts suggesting this might be a bug. Ed_S points out that the issue seems to be caused by hardcoded values in the upgrader.rb file, which temporarily reduces the number of unicorn workers to one during the upgrade process. sam suggests that the bug fix would be to make it impossible to upgrade via the UI with only one unicorn worker, forcing users to rebuild from the console. Ed_S questions this approach, noting that a single unicorn worker has worked in the past and is sufficient during the upgrade process. sam clarifies that the intention is to prevent upgrades via the UI with limited memory, while Ed_S agrees, sharing their own experience of always using the console for upgrades on memory-limited instances.
Let me redo my response here:
This seems like a bug, especially as the system cuts down to a single unicorn temporarily very shortly afterwards.
The number 2 is hardcoded, as is the number 1 for the reduction.
Edit: looks like this change introduced the inconsistency
https://github.com/discourse/docker_manager/commit/8bfea831c7b423d26d85585f9a3d7301d58e00ae
Thanks for the new thread.
Yeah I just don’t think we can support this, the bug fix here will be simply to make it impossible to happen, not fix the upgrade code.
Make what impossible? Setting a single unicorn? And yet such a setup worked better for the OP, until the upgrade.
And because the upgrade drops the number of unicorns to 1, it seems clear to me that 1 unicorn is enough at the time of an upgrade.
Have you looked at the history of this bit of code?
No just make it impossible to upgrade via the ui if you only have 1 unicorn
Force you to rebuild from console, memory is too constrained anyway
Fair enough - I’ve resorted to always using the console these days, on my memory-limited instances.