Ошибка 502 - chatables

Окей, я разобрался :sweat_smile:

Моя первая правка затронула лишь часть проблемы :man_facepalming: При поиске групп в фильтре чата выполнялся ещё один неэффективный запрос к базе данных. В зависимости от того, какие группы совпадали с вашим поисковым запросом, выполнение запроса могло занимать очень много времени — иногда превышая тайм-аут нашего запроса.

Интересно, что это влияло только на «обычных» пользователей, а не на «администраторов», поэтому я не мог воспроизвести проблему самостоятельно :thinking:

При поиске групп результаты возвращаются в алфавитном порядке. Администраторы видят все группы, поэтому их первые 10 результатов для буквы «L» — это небольшие группы, начинающиеся на «a» (например, «ai-personas» и другие непубличные группы). У обычных пользователей видимость более ограничена, поэтому в их результаты попали крупные группы по уровням доверия :grimacing:, что и вызвало медленный запрос.

Обычный пользователь видит:

  • trust_level_0: 62 506 пользователей
  • trust_level_1: 34 494 пользователя
  • trust_level_2: 4 727 пользователей
  • trust_level_3: 39 пользователей
  • trust_level_4: 13 пользователей
  • плюс несколько небольших групп

Всего: ~102 000 пользователей для загрузки :collision:

Администратор видит:

  • a*****: 4 пользователя
  • a*****: 76 пользователей
  • a*****: 0 пользователей
  • a*****: 2 пользователя
  • ai-personas: 138 пользователей
  • и т. д.

Всего: ~240 пользователей для загрузки :relieved:

1 лайк