“等待 Unicorn 重新加载”,随后更新停止

What are the hardware specs? Is it heavily memory constrained, or are the disks slow (not SSD)?

It’s not a problem to update via SSH command line if that works better, but it shouldn’t be required.

I’m not sure what the criteria is for constrained, the site has been relatively speedy (with no cloudflare, CDN or other tricks). It’s a KVM VM with 2GB. Here is an output from free:

              total        used        free      shared  buff/cache   available
Mem:        2047876     1263844      121092      280544      662940      325164
Swap:       2097148      549032     1548116

There is nothing else running on this but Discourse. However, the disks are definitely slow, non-SSD, in RAID-10, and shared with a few other VMs. I ran iotop as the nightly backup was going and didn’t see anything above 50MBps.

The exported non-compressed backup .sql is ~600MB, average daily engaged this past month <50, and daily pageviews are <6000 per day.

I do see one major difference in the output between what you posted originally and what @danekhollas and I are getting. In our output, it takes Unicorn significantly longer to reload (based on the number of dots), however it’s always been that way since that was added to the upgrade process.

The swap usage is fairly high there. This implies you have a busy instance. Also, slow disks are going to be quite painful in several dimensions.

2 个赞

In my case I have SSD and plenty RAM, but CPU is slow (1.7 GHz) and I usually have only around 7Gb free space on HDD. I noticed that Discourse seems to want at least 5Gb free during upgrade, could this be the issue?

Note that this problem started happening at a specific point in time (probably around this topic got started but I am not sure) and since then I was not able to upgrade via UI at all, which lead me to believe that something must have changed…

I gave @tgxworld access to my instance in case it is helpful.

Note tgx is out for a bit, he may have a chance to have a quick look next week.

5 个赞

This also just happened to me, however it looks like the Docker Manager upgrade actually worked:

1 个赞

Just to update since my last post ~4 months ago. I took the advice given and moved over to a whole new machine, with a significant RAM+CPU increase and switch to full SSD. This problem has not occurred again.

5 个赞

I am also facing this issue in the last several times I have tried to upgrade using the web UI.

My instance is hosted on a VM that is configurable to higher specs if I request it, but it’s not clear to me what are the recommended specs for running a typical Discourse instance.

Can someone provide these specs?

The above question is assuming the upgrade failure only happens because of lack of resources on the host.

需要帮助,升级 docker_manager 时出错
抱歉,升级 Discourse 时出错。请检查以下日志。
这是相同的错误
正在启动最初停止的 1 个 Unicorn 工作进程
远程版本为:2c89085
我有“重置升级”的选项,我应该这样做吗?恳请协助。提前感谢!!

我只是报告一下,我首次遇到此问题是在通过 Web UI 升级到 v2.4.0.beta10 +1(“docker_manager 2c89085 已是最新版本”)时。如果有人需要我的日志,请参阅附件:Discourse2.4beta10error.txt(10.2 KB)。

./launcher rebuild app 命令执行正常。

该问题出现在我家庭自托管的测试系统上。硬件配置为 Intel Atom D525 1.8 GHz 双核/四线程,4 GB 内存,搭配 SSD,运行 Lubuntu 16.04 LTS 系统。仅运行 Docker 和 Discourse,未执行其他任务。

1 个赞

这个问题在我尝试更新到 2.7.4 时突然出现了。

我尝试通过命令行重新构建,但遇到了以下错误(在运行 discourse-doctor 之后):

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 4115 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
5b36313b3f2b9e2173d52f8a7519d6aba3c4a975182d80150776d9c83659c351
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
==================== END REBUILD LOG ====================
Failed to rebuild app.

奇怪的是,新版本 2.7.4 已经显示出来了,但当我尝试更新一个主题组件时,却收到错误:“about.json contains invalid values: Maximum discourse version is invalid”(about.json 包含无效值:最大 Discourse 版本无效)。

有人有什么建议,能让 Discourse 恢复到正常状态吗?

1 个赞