После обновления Discourse возникла странная проблема.
cd /var/discourse
./launcher enter app
cd /shared/log/rails
tail -f production.log
Выводит следующее бесконечно:
Job exception: MISCONF Redis настроен для сохранения снимков RDB, но в данный момент не может сохранять данные на диск. Команды, которые могут изменять набор данных, отключены, так как этот экземпляр настроен на отчет об ошибках во время записи, если создание снимков RDB не удаётся (опция stop-writes-on-bgsave-error). Пожалуйста, проверьте логи Redis для получения подробностей об ошибке RDB.
Error connecting to Redis on localhost:6379 (Redis::TimeoutError)
unicorn.stderr.log заполнен следующими записями:
E, [2022-03-01T20:45:20.703541 #65] ERROR -- : reaped #<Process::Status: pid 30842 exit 1> worker=unknown
Обнаружен мёртвый воркер 30842, перезапуск...
Не удалось сообщить об ошибке: Error connecting to Redis on localhost:6379 (Redis::TimeoutError) 3 Job exception: Error connecting to Redis on localhost:6379 (Redis::TimeoutError)
MISCONF Redis настроен для сохранения снимков RDB, но в данный момент не может сохранять данные на диск. Команды, которые могут изменять набор данных, отключены, так как этот экземпляр настроен на отчет об ошибках во время записи, если создание снимков RDB не удаётся (опция stop-writes-on-bgsave-error). Пожалуйста, проверьте логи Redis для получения подробностей об ошибке RDB.
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:126:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis.rb:538:in `block in del'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis.rb:52:in `block in synchronize'
...
Очевидно, что проблема связана с Redis. Я подозревал, что он каким-то образом завершается, но в логах ядра вне образа Docker этого не видно. Однако внутри образа Docker я вижу:
$ df -h
Filesystem Size Used Avail Use% Mounted on
overlay 157G 53G 97G 36% /
tmpfs 64M 0 64M 0% /dev
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
shm 512M 0 512M 0% /dev/shm
/dev/sda 157G 53G 97G 36% /shared
tmpfs 3.9G 0 3.9G 0% /proc/acpi
tmpfs 3.9G 0 3.9G 0% /proc/scsi
tmpfs 3.9G 0 3.9G 0% /sys/firmware
$ free
total used free shared buff/cache available
Mem: 8167420 3248628 794816 8596 4123976 4634504
Swap: 524284 268 524016
Не очень хорошо, но и не катастрофически.
На хост-системе htop показывает:
Есть ли какие-то идеи по шагам для отладки или решения этой проблемы?
