meglio
(Anton)
1
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?
sam
(Sam Saffron)
2
嗯,这大概意味着你让 Discourse 做了太多工作,导致 Web Worker 超时(超时时间为 30 秒)。
我们应该修复这个根本问题。迁移 100 篇帖子实际上不应该花费这么长时间,我们可以将部分工作推迟执行。
将此标记为性能 Contribute > Bug
meglio
(Anton)
3
For now, the work-around would be to move by small portions?
sam
(Sam Saffron)
4
Yes, absolutely. Your server is stretched anyway from what I can tell.
我刚才在尝试将帖子从一个线程移动到另一个线程时,遇到了 502 错误。
这个问题反复出现:
Pad_Pors
(Pad Pors)
7
在我们最近的情况下,将单篇帖子移动到新主题时多次发生此问题。
我尝试了从几百个到几十个的多个集合,但都是单个帖子!
我无法找出为什么有时不起作用,而有时却完全正常的原因。
已更新至 2.4.0.beta4 (cb8fa46970),但在移动 1/5/10/50 条消息时仍会遇到 502 错误。
这破坏了管理流程,导致我无法整理一些线程。
sam
(Sam Saffron)
11
@gerhard 这是否与 @Pad_Pors 报告的其他问题类似?
我也看到了同样的问题。在日志中除了 /logs 下的这条信息外,没有找到其他相关内容:
错误:无原因短语
URL: https://.no/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js
请告诉我是否有更好的调试方法。
gerhard
(Gerhard Schlager)
13
我修复了一个错误,该错误在将帖子移入过去曾被拆分过的现有主题时可能出现。这是否解决了您遇到的问题?
您确定是在移动到新主题时发生的吗?如果是,那么这与我在日志中发现并修复的错误不同。
gerhard
(Gerhard Schlager)
15
/logs 中有错误吗?您正在移动多少篇帖子?您正在移动主题的第一篇帖子吗?您正在移动到一个新主题还是现有主题?是否涉及任何异常情况(如私信、已删除的帖子或之前拆分过的主题)?
Pad_Pors
(Pad Pors)
16
是的,在 最近的更新 之前,我们在尝试将回复移动到新主题时曾遇到过 502 网关错误的问题(这种情况是随机发生的,并非总是出现)。
如果问题仍然存在,我会进一步报告。
不幸的是,我很难找到规律。在移动单个或多个帖子时会失败。不过,我有个直觉,当在两个较大的主题之间移动时失败的概率最高,而这类主题我有很多。其中许多主题已经被拆分过多次。我从未使用过“悄悄话”功能,但大多数主题中都有很多已删除的帖子。在 /logs 中没有发现确凿的错误信息:
编辑:我认为问题是在升级到 beta5 后开始的。
amotl
(Andreas Motl)
18
你好,
在 https://community.hiveeyes.org/ 上,我们最近在将帖子在不同主题之间移动时也遇到了同样的问题。虽然尚未进一步调查,
如果这有帮助的话:我们当时只是想移动单个帖子 [1],从一个非公开主题到一个公开主题,结果触发了这个错误。在该操作失败后,我们手动复制了该帖子。
此致,
Andreas。
[1] Pycom Firmware Release 1.20.1 - #9 by clemens - Firmwareschmiede / Firmware development - Hiveeyes
gerhard
(Gerhard Schlager)
19
好的,最新的版本应该已经修复了 500 错误。我刚刚提交了 另一个修复,以便在存在其他 bug 时,将实际错误记录到日志中。
如果你遇到 502 错误,则说明移动操作耗时过长并导致超时。过去几个月里,我进行了大量更改,以便在移动帖子时迁移更多元数据。我尝试对其进行优化,但这在很大程度上取决于数据量,对于某些服务器而言,可能仍然过于消耗资源,无法在 30 秒内完成所有工作。
解决方案是再次重构此部分,将有关已移动帖子的信息永久存储在数据库中(而不是临时表),并在后台作业中执行所有繁重的处理工作。
这确实如此,因为请求返回 502 错误确实需要很长时间 