미처리된 promise 오류

설명

최근 Discourse를 재구성(self-hosted)한 후, 사이트의 활동량이 매우 낮은 상태(동시 사용자 1~2명)임에도 불구하고 메인 Full Calendar Version 6를 볼 때 사용자 측에서 일관되게 속도 제한(rate limiting)을 경험하고 있습니다. 이 현상은 지난 두 번의 재구성 이후에 나타나기 시작했습니다.

제 속도 제한 설정(app.yml에서 설정된 값):

  • DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE: 기본값의 4배
  • DISCOURSE_MAX_REQS_PER_MINUTE: 기본값의 4배
  • DISCOURSE_MAX_REQS_PER_DAY: 기본값의 4배
  • IP별 속도 제한은 지정되어 있지 않습니다.

관찰 사항

  • /logs에 오류가 표시되지 않습니다.
  • 리버스 프록시를 사용하지 않고 있습니다(표준 Let’s Encrypt 컨테이너와 도메인의 A 레코드 사용).
  • 캘린더 뷰에서만 이러한 예기치 않은 속도 제한이 발생하는 것 같습니다.
  • 사용자 활동에 변경 사항은 없습니다.
  • 모든 플러그인과 테마 컴포넌트는 공식적인 것입니다.
  • 이는 최근 Discourse 재구성 이후에만 시작되었습니다. 오늘 밤의 재구성 이후에도 지속되었습니다.
  • 사고 발생 시점에 Admin > Logs는 깨끗한 상태였습니다.

지금까지의 문제 해결 시도

  • 사용자 정의 속도 제한 설정이 존재하며 기본값보다 훨씬 높다는 것을 확인했습니다.
  • 여러 브라우저를 시도하고 캐시를 삭제했습니다.
  • meta.discourse.org 주제에 따르면, 업그레이드 이후 사용자 정의 값을 덮어쓰는 추가적인 문서화되지 않은 내부 속도 제한이 있을 수 있다고 합니다.

참고 자료


요청 사항

다음 사항을 확인해 주시겠습니까?

  1. 최근 업데이트/재구성 이후 백그라운드 또는 플러그인 생성 요청에 영향을 미치는 새로운 또는 숨겨진 속도 제한기가 있는지 확인하고, 있다면 이를 어떻게 오버라이드하거나 조정할 수 있는지 설명해 주세요.
  2. 캘린더 뷰에서 높은 사용자 정의 속도 제한이 존중되지 않는 이유를 조언해 주세요.
  3. 추가적인 문제 해결 방법이나 구성 변경 사항이 있다면 제안해 주세요.

감사합니다!

이 문제는 Re-add full ics export - #9 by kelv 와 관련이 있을 수 있습니다. 100개의 이벤트가 표시된 후 약 2분 뒤에 또 다른 대량의 이벤트가 표시되며, 이벤트가 점진적으로 나타나는 것이 아니라 큰 덩어리로 한꺼번에 나타나는 경향이 있기 때문입니다.

수정: 이 속도 제한 동작은 현재로서는 관리 가능하지만, 기간을 크게 앞당기면 문제가 드러납니다. 현재 주와 다음 주에 있는 모든 이벤트를 볼 수 있지만, 그다음 주로 이동하면 하드 리밋에 도달합니다.

또한, 커스텀 API 스로틀링 설정을 적용하기 전에는 다가오는 이벤트 전체 캘린더 v6가 이 정도까지 레이트 리밋이 걸리지 않았다는 점도 분명히 하고 싶습니다. 이 app.yml 설정은 FullCalendar에서 보이는 레이트 리밋을 변경하지 않았습니다 :wink:

@kelv 이거 한번 봐줄 수 있을까요?

여전히 재현할 수 있습니다

현재 이 문제를 전혀 재현할 수 없습니다. 어떤 커밋을 사용하고 계신가요? 이벤트가 몇 개나 있나요?

Discourse latest-release +369

Docker_manager 3e5ec72d

Bbcode 633030d8

Categories suppressed d5550658

Who’s online 3fe319b8

테마 및 컴포넌트

기본값


[카테고리 배너]

기존 카테고리 세부 정보를 사용하여 카테고리 페이지에 배너를 표시합니다. 자세히 알아보기

[클릭 가능한 주제]

이 테마를 편집하려면 해저 저장소에 변경 사항을 제출해야 합니다.

[사용자 지정 헤더 링크(아이콘)]

이 테마를 편집하려면 해저 저장소에 변경 사항을 제출해야 합니다.

[Discourse GIF]

이 테마를 편집하려면 해저 저장소에 변경 사항을 제출해야 합니다.

[인라인 PDF 미리보기]

이 테마를 편집하려면 해저 저장소에 변경 사항을 제출해야 합니다.

[리더 모드]

이 테마를 편집하려면 해저 저장소에 변경 사항을 제출해야 합니다.

다음 주에 44개

그 다음 주에 로드되는 약 40개 중 없음

FullCalendar이 정상적으로 동작하기 시작했는데, 몇 주 뒤로 간 다음 다시 여러 주 앞으로 이동했기 때문이었습니다.

많습니다. 9월 27일 이후로 MAX_RESULTS가 한도를 초과한 것 같습니다. 이벤트를 볼 때마다 전체 캘린더를 새로고침해야 합니다.

죄송합니다만, 말씀이 잘 이해가 되지 않습니다. 달력을 조작하는 모습을 영상으로 찍어 주실 수 있을까요?

1개의 좋아요

PWA에서

1개의 좋아요

그럼 429는 어디에 있나요?

저는 그게 그런 종류의 레이트 리밋이라고 생각하지 않습니다. API 스로틀링 설정에 대해 언급했을 때, 실제로 말한 것은 제 Discourse가 많은 이벤트 토픽을 처리하도록 구성되어 있다는 것이지만, 코드가 병합된 이후로 FullCalendar 뷰가 예전만큼 잘 작동하지 않고 있습니다.

혼동을 드려 죄송합니다.

수정: 429 오류가 없다는 점을 반영하도록 OP를 수정했습니다.

최신 버전을 사용하고 있습니다. UI 관점에서 보면 이 문제는 하루 새 자연스럽게 해결되었습니다. 지난밤에 업데이트를 했지만, 문제가 즉시 해결되지는 않았습니다. 현재까지 발생한 이벤트의 총 수는 약 270개입니다. 이제 PWA 사용으로 다시 되돌렸습니다…

제 Discourse 인스턴스는 tests-passed 상태이며 최신 버전으로 업데이트되어 있습니다. 어제 제 인스턴스를 사용하는 다른 사용자로부터 미래 주视图(week view)에서 모든 이벤트가 로드되지 않는다는 보고를 받았습니다. 현재 주视图(Current week view) UI에 이 오류가 더 이상 영향을 주지 않는다는 점을 이미 인지하고 있었기 때문에, 제 노트북에서 오류를 정확히 파악하기 위해 시도했습니다. 아래는 오류 재현 영상입니다.

미래 주에서 발생하는 동일한 “이벤트 누락” 문제는 제 스마트폰에서도 동일하게 재현됩니다.

재구축을 진행했는데, 이번 주에서 다음 주로 이동할 때에도 이 문제가 계속 발생합니다.

이 문제를 유발하는 원인을 진단할 수 있었나요?


아마도 제 app.yml 파일 어딘가에

을 추가해야 할 것 같습니다.

최근 20개 커밋으로 Discourse를 업데이트하면 이 버그가 수정되었습니다

업데이트는 하지 않았는데, 이 버그가 다시 발생하기 시작했어요

수정: PWA로 돌아갔더니 버그가 발생하지 않아요

수정2: 노트북 브라우저 콘솔에서는 여전히 오류가 뜨는데, 캘린더는 확인하지 않았어요

디스코스를 열고 약 1분 후 브라우저 콘솔에 이 오류가 발생하고 있습니다. 예정된 이벤트 페이지에는 영향을 미치지 않는 것 같습니다. 예정된 이벤트 페이지를 새로고침해도 오류가 재현되지 않으며, 오류는 홈페이를 로드하는 과정에서 발견되었습니다.