SQL 오류: `screened_ip_addresses` (API가 500을 반환함)

음, 거기에 뭔가 있는 것 같았어요… 제 테스트용 ‘독이 든’ 문제 사용자 george21은 TL0 상태였습니다. 그래서 TL1로 변경했는데 그제서야 작동했어요. 좋아요! 아마 그게 원인인 것 같습니다! 그래서 george21을 다시 TL0로 되돌렸더니… 이제 더 이상 ‘독이 든’ 상태가 아니에요. TL0 상태에서도 API 호출을 할 수 있습니다.

이제 다시 가져오기(import) 스크립트를 실행해 보겠습니다. 아하. 이제 george21이 가져오기 스크립트에서 500 오류를 던지고 있습니다. Insomnia에서 시도해 보았는데 실패합니다. 그래서 이제 george21을 다시 TL1로 변경해 보면… 네, HTTP 호출을 실행할 수 있습니다.

즉, 제가 재현할 수 있는 현상은 다음과 같습니다:

  1. 일련의 API 호출이 이루어지면(?) 어떤 식으로든 TL0 사용자의 후속 API 호출이 실패하게 됩니다.
  2. TL0 사용자를 TL1로 변경하면 API 호출이 통과합니다.
  3. 그리고 기이하게도, 그 같은 사용자를 다시 TL0로 변경해도 여전히 API 호출이 통과합니다.
  4. 스크립트를 다시 실행하면 또 다른 TL0 사용자에 대해 실패할 때까지 정상적으로 작동합니다.

참고로:

  1. 제 지식 범위 내에서 TL0에 대한 모든 최소 요건 등이 상향 조정되었습니다(즉, TL0 사용자가 게시물을 올리는 것을 막을 수 있는 모든 블로킹 요소를 제거하려고 시도했습니다) 그리고,
  2. 이것이 TL0 사용자를 위한某种 내부 속도 제한 문제일지라도, API가 500 오류를 던지고 오류 로그에 SQL 오류를 기록하는 것은 아닙니다. 따라서 이 시점에서 어딘가에 분명히 버그가 있다고 말할 수 있습니다.

네, 음, 알고 있습니다. 그리고 (제시된 예시들을 바탕으로) 왜 제 가져오기 스크립트를 직접 작성하지 않는지에 대한 이유를 이미 네 번쯤 설명드렸죠. :wink: 그래서 제 접근 방식 변경.

그리고 그 사이, 저는 이 버그를 찾아 수정하는 데 도움을 주기 위해 여기에서 계속 기여하고 있습니다. 오늘은 제 가져오기 스크립트에 영향을 미치고 있습니다. 내일은 여러분 사이트에서 API가 필요한 중요한 스크립트에 영향을 미칠 수도 있습니다…