# Раздел отзывов вызывает ошибку сервера 500 у конкретного модератора

**URL:** <https://meta.discourse.org/t/review-section-results-in-500-server-error-for-a-specific-moderator/414526>\
**Category:** Bug\
**Tags:** moderation, fixed\
**Created:** [12.Октябрь.2026 15:21:07 UTC](https://meta.discourse.org/t/review-section-results-in-500-server-error-for-a-specific-moderator/414526 "2026-10-12T15:21:07Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)\
**Post date:** [12.Октябрь.2026 15:21:07 UTC](https://meta.discourse.org/t/review-section-results-in-500-server-error-for-a-specific-moderator/414526/1 "2026-10-12T15:21:07Z")

</div>

У одного из наших модераторов в разделе «Отзывы» (Review) постоянно возникает сообщение об ошибке сервера. По всей видимости, это связано с тем, что один из сгенерированных запросов выполняется значительно дольше стандартного таймаута в 30 секунд.

Действие выглядит так: перейти на `/review` и изменить значение в выпадающем списке `Status` на `Everything` (хотя аналогичная проблема возникает и при выборе других опций). Для всех остальных сотрудников то же самое действие выполняется мгновенно. Этот модератор является самым активным, что, по-видимому, и провоцирует возникновение проблемы.

> **Error message**
>
> > ☹  
> > Server Error  
> > while trying to load /review?priority=low&status=all&sort\_order=created\_at&additional\_filters=%7B%7D  
> > Error code: 500 error

Форма сгенерированного запроса:

> **Trouble query**
>
> ```plaintext
> SELECT COUNT(*) FROM "reviewables" LEFT OUTER JOIN "categories" ON "categories"."id" = "reviewables"."category_id" LEFT OUTER JOIN "category_moderation_groups" ON "category_moderation_groups"."category_id" = "categories"."id" WHERE ((reviewables.reviewable_by_moderator AND TRUE) OR (category_moderation_groups.group_id IN (2, 3, 10, 11, 12, 13, 14, 41, 42, 43, 45))) AND (reviewables.category_id IS NULL OR reviewables.category_id IN (1, 46, 120, 89, 12, 8, 80, 27, 128, 39, 20, 5, 121, 117, 6, 24, 18, 93, 94, 54, 31, 15, 83, 34, 81, 33, 22, 60, 57, 40, 119, 129, 63, 64, 38, 21, 106, 17, 122, 74, 77, 123, 127, 7, 9, 10, 11, 13, 14, 19, 23, 25, 26, 28, 29, 30, 32, 35, 37, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 82, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 124, 125, 126, 127, 130)) AND (NOT EXISTS (
> SELECT 1
> FROM topics private_message
> WHERE private_message.id = reviewables.topic_id
> AND private_message.archetype = 'private_message'
> AND private_message.id NOT IN (SELECT "topics"."id" FROM "topics" WHERE ("topics"."archetype" = 'private_message' AND (topics.id IN (SELECT topic_id
> FROM topic_allowed_users
> WHERE user_id = 12345
> )
> OR topics.id IN (SELECT tg.topic_id
> FROM topic_allowed_groups tg
> JOIN group_users gu ON gu.user_id = 12345 AND gu.group_id = tg.group_id
> )) OR topics.subtype = 'moderator_warning'
> OR topics.id IN (SELECT "reviewables"."topic_id" FROM "reviewables" WHERE "reviewables"."type" = 'ReviewableFlaggedPost' AND "reviewables"."status" = 0 AND (score >= 0.0))
> ))
> )
> ) AND (NOT EXISTS (
> SELECT 1 FROM posts reviewable_target
> WHERE reviewables.target_type = 'Post'
> AND reviewable_target.id = reviewables.target_id
> AND NOT EXISTS (SELECT "posts"."id" FROM "posts" WHERE (posts.post_type IN (1, 2, 3, 4)) AND "posts"."topic_id" IN (SELECT "topics"."id" FROM "topics" LEFT OUTER JOIN "shared_drafts" ON "shared_drafts"."topic_id" = "topics"."id" WHERE "shared_drafts"."id" IS NULL AND ("topics"."archetype" != 'private_message' AND (topics.category_id IS NULL OR topics.category_id IN (SELECT id FROM categories WHERE NOT read_restricted OR id IN (7, 9, 10, 11, 13, 14, 19, 23, 25, 26, 28, 29, 30, 32, 35, 37, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 82, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 124, 125, 126, 127, 130))) OR "topics"."archetype" = 'private_message' AND "topics"."archetype" = 'private_message' AND ((topics.id IN (SELECT topic_id
> FROM topic_allowed_users
> WHERE user_id = 12345
> )
> OR topics.id IN (SELECT tg.topic_id
> FROM topic_allowed_groups tg
> JOIN group_users gu ON gu.user_id = 12345 AND gu.group_id = tg.group_id
> )) OR topics.subtype = 'moderator_warning'
> OR topics.id IN (SELECT "reviewables"."topic_id" FROM "reviewables" WHERE "reviewables"."type" = 'ReviewableFlaggedPost' AND "reviewables"."status" = 0 AND (score >= 0.0))
> ))) AND (posts.id = reviewable_target.id))
> )
> ) AND "reviewables"."type" IN ('ReviewableFlaggedPost', 'ReviewableQueuedPost', 'ReviewableUser', 'ReviewablePost');
> 
> count
> -------
> 15147
> (1 row)
> 
> Time: 78545.972 ms (01:18.546)
> 
> ```

Замена user\_id на мой собственный (администратор) не приводит к существенному ускорению, и я могу выполнить то же самое действие на `/review` без проблем, поэтому, вероятно, путь выполнения кода различается.

Это на Discourse: [v2026.7.3 +24](https://github.com/discourse/discourse%20version%204243fa0848d2d4be8c61a15ea2ee66dc32b7c75d)

---

_[View the full topic](https://meta.discourse.org/t/review-section-results-in-500-server-error-for-a-specific-moderator/414526)._
