移动帖子返回502错误网关

I’m trying to move ~100 posts to an existing topic.

After a delay of about 10 seconds, it says there was an error when moving posts in a green alert area:

No new entries in /logs

No useful information in console either:

What can be wrong and where to look for the error?

嗯,这大概意味着你让 Discourse 做了太多工作,导致 Web Worker 超时(超时时间为 30 秒)。

我们应该修复这个根本问题。迁移 100 篇帖子实际上不应该花费这么长时间,我们可以将部分工作推迟执行。


将此标记为性能 Contribute > Bug

For now, the work-around would be to move by small portions?

Yes, absolutely. Your server is stretched anyway from what I can tell.

我刚才在尝试将帖子从一个线程移动到另一个线程时,遇到了 502 错误。

这个问题反复出现::worried:

你们当时有多少人一起行动?

在我们最近的情况下,将单篇帖子移动到新主题时多次发生此问题。

我尝试了从几百个到几十个的多个集合,但都是单个帖子!
我无法找出为什么有时不起作用,而有时却完全正常的原因。

已更新至 2.4.0.beta4 (cb8fa46970),但在移动 1/5/10/50 条消息时仍会遇到 502 错误。
这破坏了管理流程,导致我无法整理一些线程。

遇到问题。

任何日志/统计/设置信息都会有帮助吗?

@gerhard 这是否与 @Pad_Pors 报告的其他问题类似?

我也看到了同样的问题。在日志中除了 /logs 下的这条信息外,没有找到其他相关内容:

错误:无原因短语
URL: https://.no/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js

请告诉我是否有更好的调试方法。

我修复了一个错误,该错误在将帖子移入过去曾被拆分过的现有主题时可能出现。这是否解决了您遇到的问题?


您确定是在移动到主题时发生的吗?如果是,那么这与我在日志中发现并修复的错误不同。

不幸的是,应用修复后我仍然收到 502 错误:

/logs 中有错误吗?您正在移动多少篇帖子?您正在移动主题的第一篇帖子吗?您正在移动到一个新主题还是现有主题?是否涉及任何异常情况(如私信、已删除的帖子或之前拆分过的主题)?

是的,在 最近的更新 之前,我们在尝试将回复移动到新主题时曾遇到过 502 网关错误的问题(这种情况是随机发生的,并非总是出现)。

如果问题仍然存在,我会进一步报告。

不幸的是,我很难找到规律。在移动单个或多个帖子时会失败。不过,我有个直觉,当在两个较大的主题之间移动时失败的概率最高,而这类主题我有很多。其中许多主题已经被拆分过多次。我从未使用过“悄悄话”功能,但大多数主题中都有很多已删除的帖子。在 /logs 中没有发现确凿的错误信息::disappointed_face:

编辑:我认为问题是在升级到 beta5 后开始的。

你好,

https://community.hiveeyes.org/ 上,我们最近在将帖子在不同主题之间移动时也遇到了同样的问题。虽然尚未进一步调查,

如果这有帮助的话:我们当时只是想移动单个帖子 [1],从一个非公开主题到一个公开主题,结果触发了这个错误。在该操作失败后,我们手动复制了该帖子。

此致,
Andreas。

[1] Pycom Firmware Release 1.20.1 - #9 by clemens - Firmwareschmiede / Firmware development - Hiveeyes

好的,最新的版本应该已经修复了 500 错误。我刚刚提交了 另一个修复,以便在存在其他 bug 时,将实际错误记录到日志中。

如果你遇到 502 错误,则说明移动操作耗时过长并导致超时。过去几个月里,我进行了大量更改,以便在移动帖子时迁移更多元数据。我尝试对其进行优化,但这在很大程度上取决于数据量,对于某些服务器而言,可能仍然过于消耗资源,无法在 30 秒内完成所有工作。

解决方案是再次重构此部分,将有关已移动帖子的信息永久存储在数据库中(而不是临时表),并在后台作业中执行所有繁重的处理工作。

这确实如此,因为请求返回 502 错误确实需要很长时间 :slight_smile: