Moving posts returns 502 bad gateway

Мы увеличили объем оперативной памяти и пересоздали базу данных, но проблема сохраняется.

Хотелось бы узнать, осведомлены ли разработчики об этой проблеме. Спасибо!

Есть ли какое-то быстрое решение, которое я могу применить как администратор? Может быть, увеличить время ожидания?

Не уверен. Похоже, что более длительное время ожидания помогло бы. Это происходит гораздо чаще в очень популярных ветках, поэтому кажется, что есть выборка или сканирование, которые занимают слишком много времени.

Если смогу понять, как это реализовать, сообщу. Я бы удвоил это значение.

Да, проблема сохраняется в версии 2.5.0.beta2.

Вы запускали настройку Discourse после изменения оперативной памяти? Существуют настройки, которые необходимо обновить, чтобы воспользоваться преимуществами увеличенной памяти.

Не уверен, так как реализация зависит от другого человека. Но я напомню ему, что это необходимо сделать для завершения процесса. Большое спасибо!

Здравствуйте,
При перемещении постов я часто получаю ошибки 502.
Есть ли у вас план улучшить эту ситуацию?

Спасибо

Привет, вам удалось найти это? Было бы здорово параметризовать тайм-аут в app.yml ENV или в настройках сайта Discourse для тех, у кого мало памяти.


Может, глупый вопрос?


Когда вы перемещаете много постов, управляется ли этот процесс Sidekiq?

Извините, я не искал в коде…


Обновление


Я быстро взглянул на Ruby-базу кода, и да: когда вызывается функция перемещения постов, задачи ставятся в очередь с помощью enqueue_jobs().

Не будучи разработчиком Discourse, я, как случайный наблюдатель кода, полагаю, что проблемы, связанные с задержками, ошибками или тайм-аутами при перемещении постов, напрямую зависят от производительности и конфигурации Sidekiq.

Несколько дней назад я пытался изучить, как Discourse использует Sidekiq на системном уровне, но не смог найти упрощённую версию («краткие заметки») для новичков.

Поэтому я зашёл на сайт Sidekiq, чтобы лучше понять, что происходит «под капотом», и заметил три разных предложения. Я запутался и решил отложить это :slight_smile: потому что не мог понять в рамках своего короткого внимания и потребности в мгновенном удовлетворении, какую версию Sidekiq использует Discourse, какие именно функции и настройки можно конфигурировать…

Будучи новичком в этой области, я хочу точно узнать архитектуру Sidekiq, его функции, настройки и переменные окружения, доступные в Discourse, но пока что я «всё ещё не нашёл того, что искал» — на мотив нашей любимой песни группы U2.

Все ответы продиктованы любопытством…

Обновление:

По совету одного из участников в другой теме мы отключили все плагины, кроме «Кто онлайн», и с тех пор проблем с перемещениями больше не возникало.

Так что пока осторожный оптимизм. Если что-то изменится, я обновлю информацию.

Спасибо всем, кто помогал решать эту проблему!

Какие именно плагины вы отключили?

В идеале я бы отключил каждый из них по отдельности, чтобы проверить, какой(е) именно вызывал(и) проблемы, но я не ожидал, что это сработает, поэтому выключил их все сразу.

Скорее всего, это пустая болтовня. Я предполагаю, что там есть хуки, которые срабатывают при перемещении поста.

Хорошо, спасибо. И отдельное спасибо @featheredtoast за исправление.

Недавно в моём сообществе начала возникать проблема с ошибкой 502 при перемещении постов, особенно между большими темами. У меня не было установлено никаких пользовательских плагинов. Следуя советам из другой темы Discourse, я увеличил значение unicorn_workers до 10 и db_shared_buffers до 4096 МБ, но это не улучшило ситуацию. Ниже приведён лог утилиты ./discourse-doctor нашего форума. Буду признателен за любые рекомендации. Спасибо!

==================== ИНФОРМАЦИЯ О DOCKER ====================
ВЕРСИЯ DOCKER: Docker version 17.10.0-ce, build f4ffd25

ПРОЦЕССЫ DOCKER (docker ps -a)

CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                                      NAMES
ddfb2222fd64        local_discourse/app   "/sbin/boot"        10 days ago         Up 10 days          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

ddfb2222fd64        local_discourse/app   "/sbin/boot"        10 days ago         Up 10 days          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

Контейнер Discourse app запущен


==================== ПЛАГИНЫ ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git

Не обнаружено неофициальных плагинов.

См. официальный список по адресу: https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb

========================================
Discourse 2.6.0.beta2
Версия Discourse на localhost: Discourse 2.6.0.beta2 


==================== ИНФОРМАЦИЯ О ПАМЯТИ ====================
RAM (МБ): 16434

              total        used        free      shared  buff/cache   available
Mem:          16048        5605         919        4255        9523        5850
Swap:          2047         437        1610

==================== ПРОВЕРКА СВОБОДНОГО МЕСТА НА ДИСКЕ ====================
---------- Свободное место на диске ОС ----------
Filesystem                 Size  Used Avail Use% Mounted on
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /var/lib/docker/aufs
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /var/lib/docker/plugins
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /

---------- Свободное место на диске контейнера ----------
неизвестный краткий флаг: 'w' в -w
См. 'docker exec --help'.


==================== ИНФОРМАЦИЯ О ДИСКЕ ====================
Диск /dev/vda: 320 ГиБ, 343597383680 байт, 671088640 секторов
Единицы измерения: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: 29B528BA-16C4-402E-BEE9-53555C8B6F10

Устройство     Начало       Конец   Секторов  Размер Тип
/dev/vda1   2048 671086591 671084544  320G Файловая система Linux

==================== КОНЕЦ ИНФОРМАЦИИ О ДИСКЕ ====================

Привет, у меня та же проблема. Из-за этого не удаётся разделить мега-темы.
Также пробовал в безопасном режиме — ничего не изменилось.

В моём тестовом экземпляре Discourse (та же версия 2.6.0.beta2) проблем нет.
И в логах тоже ничего.

Я получаю эту ошибку 502 уже год :frowning:

Нам кажется, мы ещё не спрашивали вас: какие плагины вы используете?

Я отключил все плагины, чтобы проверить, связана ли ошибка с ними. Похоже, что проблема стабильно повторяется при длинных потоках.