合并用户出错?

我刚成功将 Discourse 安装从 2.7 beta 2 更新到 2.7 beta 3,随后尝试合并一个用户。该用户在两个账户中共发布了约 270 篇帖子。45 分钟后,网站仍处于灰色状态,并显示“正在更改帖子所有权”——我推测某个进程可能卡住了。

我的论坛当时几乎没有任何其他活动(没有其他登录用户)。

在搜索本论坛寻找线索时,我偶然发现了一篇 帖子,其中提到“合并用户”插件可能即将失效,因为 Discourse 已自 2.5.0 beta 3 起原生集成了该功能。

我仍安装了该插件(版本 0.1),但碰巧并未通过插件菜单启动合并操作,而是直接使用了用户个人资料页面右下角的“合并”按钮。我推测这意味着我调用的是 Discourse 的原生工具,而非插件。

我不确定是插件还是 Discourse 本身导致了进程停滞。

我可以通过另一个浏览器会话以管理员身份访问网站,并看到两个个人资料仍然存在,尽管除 9 篇旧帖子外,所有待合并的帖子现在都已关联到目标新账户。在该数字旁边,我看到一条警告信息,可能与本次合并尝试有关,也可能无关:“无法删除所有帖子。部分帖子已超过 60 天。(delete_user_max_post_age 设置)”

巧合的是,所有成功合并的帖子都超过 60 天,因此我不确定该如何解读这条警告。

现在我该如何优雅地终止该进程(假设它仍在运行),并防止数据库损坏?

1 个赞

好的,我放弃了,刷新了那个变灰的浏览器窗口,网站随即恢复正常,仿佛什么都没发生过——显示的还是那个旧版本的用户账户,仍有9篇未合并的帖子。

我再次尝试,将 delete_user_max_post_age 设置为 99999,结果依然相同。接着我尝试反向合并,结果也一样。

最后,我再次使用插件进行操作,结果一次成功,整个过程仅耗时一两分钟。

因此,根据现有证据,Discourse 2.7 beta 3 版本的合并功能存在某种问题,但该插件仍然可以正常工作。

我尝试时它运行正常。也许是因为你安装了某个插件导致了一些问题?在这里它被归类为 #plugin:broken-plugin。很高兴你最终解决了它。

2 个赞

谢谢。我将卸载该插件,因为如果下次原生合并流程的情况仍未改善,我 presumably 可以随时重新安装它。

我想知道被合并帖子的年龄或来源是否是一个影响因素?这些帖子都是从现已停止服务的 Yahoo Groups 论坛导入的,导入过程创建了“僵尸”用户,即对于给定的电子邮件地址,系统中没有对应的活跃用户。我认为这个旧用户账户就是这种情况的一个例子。

2 个赞