Там две баги, разработчики утверждают, что между собой не связаны, но у меня они вызываются одной и той же причиной - горячая таблица (текущее состояние источников данных) очень часто (~100 раз в секунду) апдейтится, параллельно ее читают из множества транзакций.
Оба бага чрезвычано редки и сложновоспроизводимы, возникают только на classic сервере, базу не калечат, первый лично для меня безвреден (мои воркеры умеют возобновлять работу после ошибок) но второй вызывает дичайший live-lock сервера, после которого ни одна вообще операция с ним не проходит, пока кушающий CPU процесс не прибьешь вручную.
Т.е. там сервер захватывает мьютекс, начинает кругами ходить по связному списку блокировок и не может выйти из этого процесса. Почему - а хрен его знает почему, мне пока не хватает времени попытаться изучить дампы памяти сервера и БД на момент live-lock всерьез, там надо вникнуть, как менеджер блокировок устроен для начала.
no subject
no subject
Оба бага чрезвычано редки и сложновоспроизводимы, возникают только на classic сервере, базу не калечат, первый лично для меня безвреден (мои воркеры умеют возобновлять работу после ошибок) но второй вызывает дичайший live-lock сервера, после которого ни одна вообще операция с ним не проходит, пока кушающий CPU процесс не прибьешь вручную.
Т.е. там сервер захватывает мьютекс, начинает кругами ходить по связному списку блокировок и не может выйти из этого процесса. Почему - а хрен его знает почему, мне пока не хватает времени попытаться изучить дампы памяти сервера и БД на момент live-lock всерьез, там надо вникнуть, как менеджер блокировок устроен для начала.