备份无超时限制(自9月起卡住)

我想报告以下问题:

  1. 备份似乎没有设置超时。因此,一次自动备份自 9 月以来一直处于卡住状态。
  2. 一旦取消,所有用户都收到了自 9 月以来汇总的电子邮件摘要和密码重置通知。

以下是日志:

[2019-09-26 03:35:25] pg_dump: 正在创建索引 "public.idx_tag_users_ix1"
[2019-09-26 03:35:25] pg_dump: 正在创建索引 "public.idx_tag_users_ix2"
[2019-09-26 03:35:25] pg_dump: 正在创建索引 "public.idx_topic_id_public_type_deleted_at"
[2019-09-26 03:35:25] pg_dump: 正在创建索引 "public.idx_topics_front_page"
[2019-09-26 03:35:25] pg_dump: 正在创建索引 "public.idx_topics_user_id_deleted_at"
[2019-09-26 03:35:25] pg_dump: 正在创建索引 "public.idx_unique_actions"
[2019-09-26 03:35:25] pg_dump: 正在创建索引 "public.idx_unique_flags"
[2019-09-26 03:35:25] 正在完成备份...
[2019-09-26 03:35:25] 正在创建归档文件:our-community-2019-09-26-033520-v20171214040346.tar.gz
[2019-09-26 03:35:25] 正在检查归档文件是否已存在...
[2019-09-26 03:35:25] pg_dump: 正在创建索引 "public.idx_unique_post_uploads"
[2020-01-24 16:02:39] 备份过程已取消!
[2020-01-24 16:02:39] 正在通知“系统”备份结束...
4 个赞

虽然这不太好,但你知道备份为什么花了这么久吗?你的数据库很大吗?

1 个赞

不,它很小,Postgres 的 .dump 文件只有 112 MB。

您的服务器是如何安装的?部署在哪里?

1 个赞

这很奇怪。在“正在完成备份…”消息之后,出现了一条来自“pg_dump”的孤立日志消息。

另外,我不确定为什么系统不再发送邮件了。当日志中出现“正在完成备份…”时,Sidekiq 应该已经解除暂停。

你使用的是哪个版本的 Discourse?我猜你从九月以来没有运行过任何升级,否则我相当确定那会阻止备份。:thinking:

8 个赞

感谢您的阅读和回复!我在检查一台旧服务器时发现了这个问题,该服务器现已更换,但我仍可以访问该旧实例。

  • 问题发生在 1.8 版本上。
  • 发送的邮件仅限于 new_version 邮件,没有密码重置或通知邮件。
  • 日志通常由不同的线程或进程写入并刷新,因此我不确定这是否能解释那条异常的 pg_dump 消息……但这确实非常可疑。

我认为实际的问题可能还在于:在队列中发送大量邮件时缺乏基本的合理性检查。例如,如果一封密码提醒邮件是三个月前生成的,我们是否应该假设系统时间发生了变化,或者邮件实际上在相当长的一段时间内发送失败?

我们的新服务器现在已运行最新版本的 Discourse,但如果无人值守的备份再次卡住,那当然会很遗憾。https://community.learningequality.org/

1 个赞

嗯,那确实非常古老了。如果那个版本在暂停/恢复 Sidekiq 方面存在问题,而这些问题之后已被修复,我一点也不惊讶。

Discourse 中没有无人值守升级功能。

4 个赞

Discourse 中没有无人值守的升级。这是一个打字错误。

我非常确定当前版本中不存在任何可能导致备份卡住或邮件队列停滞的 bug。

我将关闭此话题。如果您在最新版本的 Discourse 中遇到此问题,并能提供复现步骤,请标记以重新打开。

4 个赞