У меня есть большая база данных (9,2 миллиона постов) с множеством мега-тем (некоторые содержат более 150 тысяч постов!). При попытке восстановления на другой сервер во время переназначения на новое имя хоста возникает следующая ошибка:
Восстановление загрузок, это может занять некоторое время...
Оптимизация иконок сайта...
Посты будут пересобраны фоновой задачей в Sidekiq. До завершения этого процесса изображения могут отсутствовать.
Вы можете ускорить процесс, вручную запустив команду "rake posts:rebake_uncooked_posts"
ОШИБКА: ERROR: deadlock detected
DETAIL: Process 960 waits for ShareLock on transaction 4765; blocked by process 2184.
Process 2184 waits for ShareLock on transaction 4915; blocked by process 960. HINT: See server log for query details.
CONTEXT: while updating tuple (566294,13) in relation "posts"
Есть ли способ разрешить эту взаимную блокировку?
Это происходило на стандартном виртуальном сервере с 8 ГБ оперативной памяти.
При попытке выполнить пересборку я сталкивался с аналогичной проблемой на этом сайте, размещённом на достаточно быстром сервере баз данных с 16 ГБ оперативной памяти, а также на отдельном веб-сервере с 16 ГБ оперативной памяти. Оба сервера также обслуживали несколько других небольших сайтов с низкой нагрузкой.
Кажется ли вероятным, что проблема связана с мега-темами? Есть ли решение, кроме разделения их на более мелкие?