게시물 거절 후 업로드된 파일이 삭제되지 않아 불필요한 리소스 점유 발생

버그일까요?

Discourse에서 게시글이 제출되어 검토 대기열에 들어가면, 해당 게시글과 연관된 업로드 파일들이 게시글이 거부된 후에도 남아 있는 것 같습니다. 사용자가 작성한 게시글을 수동으로 거부하고, 검토 결과를 사용자에게 알리는 시스템 생성의 개인 메시지도 영구 삭제했지만, 해당 게시글에서 업로드된 이미지는 여전히 검토 대기열에 표시되고 서버에 저장되어 있습니다.

이러한 잔여 미디어는 사용되지 않거나 잠재적으로 부적절한 콘텐츠로 사이트를 오염시켜 커뮤니티 생태계의 건강성과 청결도에 부정적인 영향을 미치기 때문에 문제입니다.

이것이 의도된 동작인가요? Discourse는 거부된 게시글의 업로드 파일을 자동으로 삭제해야 하지 않나요? 그렇지 않다면 수동으로 정리할 수 있는 방법이 있을까요?

고아 상태(Orphaned)로 남아 있는 업로드는 예약된 Sidekiq 작업을 통해 일정 시간 후에 정리됩니다.

설정: clean_up_uploads, clean_orphan_uploads_grace_period_hours

https://github.com/discourse/discourse/blob/main/app/jobs/scheduled/clean_up_uploads.rb

2개의 좋아요

죄송합니다. 이미 충분히 명확하게 설명했다고 생각하지만, 제 영어 실력이 아직 부족해서 그런 것 같습니다. 고립 파일은 정리된다는 점은 이해하고 있습니다. 문제는 다음과 같습니다: 업로드된 파일이 검토 대기열에 들어가면, 절대 고립 파일이 되지 않습니다. 검토 대기열에 있는 게시글을 이미 거절했고, 시스템이 사용자에게 보낸 거절 메시지도 삭제했습니다. 그런데도 업로드된 파일은 여전히 검토 대기열에서 보입니다. 고립 파일이 되지 않는 것이 문제입니다.

1개의 좋아요

아, 설명해 주셔서 감사합니다. 그 부분을 놓쳤네요.

1개의 좋아요

네, 문제를 파악했어요. 검토 대기열에 오래된 거절된 이미지를 주기적으로 정리할 수 있도록 어떤 형태의 보존 기간 설정을 도입하는 것도 하나의 해결책이 될 것 같아요.

제품 팀에 이 내용을 전달했습니다.

2개의 좋아요