해제/삭제 후 카테고리 수가 음수로 표시됨

오늘 미분류 카테고리에 있는 일부 주제를 비공개로 전환하고 삭제했는데, 이제 메인 카테고리 목록 페이지에서 해당 카테고리의 총 수가 “-11”으로 표시됩니다.

생각해보니, 삭제한 주제 대부분은 이전에 이미 비공개 처리되어 있었습니다. 이것이 관련이 있을까요? 아마도 비공개 전환과 삭제를 각각 별도로 수행할 때마다 주제당 1씩 카운트가 차감되는 것 같습니다.

이 문제는 자동으로 정상화될까요 (시간이 지나거나 특정 이벤트가 발생하면)?

아니면 제가 직접 수정해야 할까요?

감사합니다.

(정리하기 위해 수정했습니다.)

1개의 좋아요

네, 그것이 문제입니다. 제 테스트 사이트에서 해당 문제를 재현할 수 있습니다. 주제를 목록에서 제외하면 해당 카테고리의 주제 통계에서 해당 주제가 제거됩니다. 이후 목록에서 제외된 주제를 삭제하면, 다시 한 번 해당 카테고리의 주제 통계에서 차감됩니다. 즉, 단일 주제를 목록에서 제외하고 삭제하는 것은 통계에서 두 개의 주제가 제거된 것으로 계산됩니다.

Discourse는 24시간마다 CategoryStats 백그라운드 작업을 실행합니다. 이 작업이 실행되면 카테고리의 통정이 수정되어야 합니다. 사이트의 rails 콘솔에 접근 권한이 있고 작업을 기다리기 원하지 않는다면, 다음 명령을 수동으로 실행할 수 있습니다:

Category.update_stats

제 사이트에서 이 방법을 테스트해 보았습니다. 해당 명령을 실행하니 문제가 해결되었습니다.

4개의 좋아요

감사합니다. 기다리는 건 괜찮지만, 알아두어서 좋네요.

P.S. 이제 스스로 해결된 걸 확인했습니다! :slight_smile:

Jonathan님,

이 문제는 더 이상 재현할 수 없습니다. 최신 버전에서도 여전히 해당 문제가 발생합니까?

2.7.0.beta2 (afbaedef7d)을 설치해 두었는데, 최신 버전은 아니니 이 점이 관련이 있을 수도 있겠네요.

문제를 재현하려면 토픽을 비공개로 설정한 후, 카테고리 통계 작업이 실행되도록 약 24시간을 기다린 다음 토픽을 삭제해야 합니다. 이렇게 하면 토픽이 카테고리 통계에서 두 번 제거되는 상황이 발생합니다. 이후 24시간이 지나면 카테고리 통계 작업이 다시 실행되며, 이로 인해 문제가 해결됩니다.

이러한 현상이 발생하는 이유는 토픽을 삭제하면 즉시 카테고리 통계에서 해당 토픽이 제거되기 때문입니다. 반면, 토픽을 비공개로 설정하는 것만으로는 카테고리 통계 업데이트를 위한 일일 작업이 실행될 때까지 통계에서 제거되지 않습니다. 해당 작업은 visible(표시됨) 상태의 토픽만 검사하기 때문입니다.

4개의 좋아요

안녕하세요,

문제를 확인했고, 수정 사항을 검토를 위해 제출했습니다. 곧 최신 버전에서 사용할 수 있게 될 것입니다.

2개의 좋아요

좋네요. 큰 문제가 되지는 않았을 것 같아요. 아마도 작거나 새로 생긴 게시판에서만 눈에 띄는 정도일 거예요.

해결 방법을 이 글의 마지막 답변으로 수정하고 싶은데, 시스템이 허용하지 않네요.

1개의 좋아요