이동 후 링크가 깨졌습니다

서버를 이전한 후 포럼 내부의 많은 링크가 깨졌습니다. 이전 작업을 돕기 위해 임시 URL인 staging.example.com에 새 서버를 생성했었는데, 이제 이전 작업은 완료되었지만 forum.example.com의 많은 링크가 여전히 staging.example.com(더 이상 존재하지 않는 도메인)을 가리키고 있습니다.

app.yml 파일을 확인하고 재빌드했습니다:

containers/app.yml: DISCOURSE_HOSTNAME: forum.example.com

관리자 > 설정에서 "staging"에 대한 잔재가 없는지 검색해 보았습니다.

DNS는 이미 오래전에 전파되었습니다.

이 오래된 참조를 보았는데, 이것이 관련이 있는지 확실하지 않습니다.

수동 편집 외에는 해결할 수 없다면, 모든 발생 위치를 찾는 방법에 대한 힌트가 있을까요? 검색 버튼이 이 작업에는 잘 작동하지 않습니다.

그렇게 했습니다. 모두 잘 작동했지만, 이제 깨진 링크가 생겼어요.

즉, 리맵(remap) 또는 리베이크(rebake)가 실패했다는 뜻인가요?

죄송합니다, 리맵을 하지 않았습니다. 오늘 밤에 시도해 보겠습니다.

네, 이제 리맵이 실패했다고 말씀드릴 수 있습니다.

> /var/www/discourse# discourse remap staging.example.com forum.example.com
> Rewriting all occurences of staging.example.com to forum.example.com
> THIS TASK WILL REWRITE DATA, ARE YOU SURE (type YES)
> YES
> Error: ERROR:  duplicate key value violates unique constraint "unique_post_links"
> DETAIL:  Key (topic_id, post_id, url)=(8718, 57455, https://forum.example.com/t/exampletopic/4606/336) already exists.
> The remap has only been partially applied due to the error above. Please re-run the script again.

지시에 따라 다시 실행해 보았지만, 동일한 (topic_id, post_id, url) 키에서 동일한 오류가 발생했습니다.

Rails 콘솔에 접근하여 SQL/ActiveRecord를 실행할 수 있습니다. 실행할 내용을 알려주시면 됩니다. 또는 Data Explorer를 사용할 수도 있습니다.

저는 왜 중복된 키 값이 발생하는지 확실하지 않으므로, 이 문제는 다른 분이 도움을 드려야 할 것 같습니다.

아이러니하게도, 문제의 주제 8718과 게시물 57455는 링크가 깨졌다는 불만을 토로하는 두 사용자 간의 개인 메시지(PM)에 있습니다!

하지만 데이터 탐색기를 사용해도 id가 57455인 게시물은 하나만 확인됩니다. remap이 왜 오류를 보고하는지 모르겠습니다.

게시물에는 이미 구 URL과 새 URL이 모두 포함되어 있을 가능성이 높습니다. 그냥 편집해서 삭제하면 됩니다.

몇 가지 게시물을 정리한 후 리맵을 완료할 수 있었습니다. 그러나 리베이크가 30%까지 진행되었다가 오류가 발생하여 시스템이 멈추었고, 재부팅을 해야 했습니다. 시스템에는 충분한 메모리와 디스크 공간이 있습니다.

질문: 재부팅 후 ‘top’ 명령을 실행하면 60%의 CPU를 사용 중인 ruby 프로세스가 보입니다. 이것이 rake 작업인가요? 재부팅 후에도 계속 진행되나요?

Sidekiq가 재구축(rebakes) 작업으로 바쁜 상태일 가능성이 높습니다. 포럼의 /sidekiq 경로로 이동하여 확인해 보세요.