백업에 타임아웃이 없습니다 (9월부터 멈춰 있음)

다음 문제들을 보고드립니다:

  1. 백업에 시간 초과 설정이 없는 것 같습니다. 그래서 9월부터 자동 백업이 멈춰 있었습니다.
  2. 백업을 취소한 후, 9월부터 누적된 이메일 다이제스트와 비밀번호 재설정 알림이 모든 사용자에게 발송되었습니다.

로그는 다음과 같습니다:

[2019-09-26 03:35:25] pg_dump: creating INDEX "public.idx_tag_users_ix1"
[2019-09-26 03:35:25] pg_dump: creating INDEX "public.idx_tag_users_ix2"
[2019-09-26 03:35:25] pg_dump: creating INDEX "public.idx_topic_id_public_type_deleted_at"
[2019-09-26 03:35:25] pg_dump: creating INDEX "public.idx_topics_front_page"
[2019-09-26 03:35:25] pg_dump: creating INDEX "public.idx_topics_user_id_deleted_at"
[2019-09-26 03:35:25] pg_dump: creating INDEX "public.idx_unique_actions"
[2019-09-26 03:35:25] pg_dump: creating INDEX "public.idx_unique_flags"
[2019-09-26 03:35:25] Finalizing backup...
[2019-09-26 03:35:25] Creating archive: our-community-2019-09-26-033520-v20171214040346.tar.gz
[2019-09-26 03:35:25] Making sure archive does not already exist...
[2019-09-26 03:35:25] pg_dump: creating INDEX "public.idx_unique_post_uploads"
[2020-01-24 16:02:39] Backup process was cancelled!
[2020-01-24 16:02:39] Notifying 'system' of the end of the backup...
4개의 좋아요

이건 별로 좋은 상황은 아니지만, 백업이 왜 이렇게 오래 걸렸는지 혹시 짐작이 가나요? 데이터베이스가 아주 큰가요?

1개의 좋아요

아니요, 크기가 작습니다. Postgres의 .dump 파일은 112MB였습니다.

서버는 어떻게 설치되었나요? 어디에 배포되어 있나요?

1개의 좋아요

이건 정말 이상합니다. “Finalizing backup…” 메시지 이후에 "pg_dump"에서 나온 여분 로그 메시지가 하나 있습니다.

또한, 시스템이 더 이상 이메일을 보내지 않는 이유도 모르겠습니다. "Finalizing backup…"가 로그에 표시될 때쯤이면 Sidekiq는 이미 일시정지 해제되어 있어야 합니다.

어떤 버전의 Discourse를 사용 중이신가요? 9월 이후로 업그레이드를 실행하지 않으셨을 거라고 가정합니다. 그렇지 않았다면 백업이 중단되었을 것이라고 확신합니다. :thinking:

8개의 좋아요

읽어주셔서, 그리고 답변해 주셔서 감사합니다! 문제는 오래된 서버를 점검하던 중 발견했으며, 해당 서버는 이미 교체되었습니다. 저는 여전히 이전 인스턴스에 접근할 수 있습니다.

  • 문제는 1.8 버전에서 발생했습니다.
  • 발송된 이메일은 new_version 이메일뿐이었습니다. 비밀번호 재설정이나 알림 이메일은 없었습니다.
  • 로그는 종종 다른 스레드/프로세스에 기록되고 플러시되므로, 이것이 유령 pg_dump 메시지를 설명할 수 있는지 확실하지 않습니다. 하지만 분명히 매우 의심스러운 부분입니다.

실제 문제는 아마도 큐에 대량의 이메일을 발송할 때 건전성 검사(sanity checks)가 없다는 점일 것입니다. 비밀번호 재설정 요청이 3개월 전에 생성된 경우 어떻게 해야 할까요? 시스템 시간이 변경되었거나, 상당한 시간 동안 이메일 발송이 실패한 것으로 가정해야 할까요?

현재 새로운 서버에서는 Discourse의 최신 버전이 실행되고 있지만, 방치된 백업이 다시 막히는 일이 반복된다면 실망스러운 일이 될 것입니다. https://community.learningequality.org/

1개의 좋아요

음, 그건 매우 오래된 버전입니다. 해당 버전에는 이후에 수정된 Sidekiq 일시정지/재개 관련 문제가 있을 수 있으므로 놀랍지 않습니다.

Discourse에는 unattended upgrades 기능이 없습니다.

4개의 좋아요

Discourse에는 무인 업그레이드가 없습니다.

오타였습니다.

현재 버전에는 백업이 멈추고 이메일 큐가 정지되는 원인이 될 수 있는 버그가 없다고 확신합니다.

이 주제를 닫겠습니다. 최신 버전의 Discourse에서 해당 문제가 발생하고 재현 단계를 제공할 수 있다면 다시 열기 위해 알려 주세요.

4개의 좋아요